فصل چهارم. کنیم و به این طریق برنامه خود را به راحتی و با قدرت بیشتر بنویسیم. کتابخانهFramework.NET ١ اجزای خط عنوان یک متد را توضیح دهد.

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "فصل چهارم. کنیم و به این طریق برنامه خود را به راحتی و با قدرت بیشتر بنویسیم. کتابخانهFramework.NET ١ اجزای خط عنوان یک متد را توضیح دهد."

Transcript

1 فصل چهارم کار با متدها و کالس های آماده تاکنون با تعدادی از متدها و کالس های سی شارپ کار کرده اید.این متدها و کالس ها از قبل آماده و درون ساختار سی شارپ تعبیه شده است که می توانیم از آنها در برنامه های خود استفاده کنیم و به این طریق برنامه خود را به راحتی و با قدرت بیشتر بنویسیم. کتابخانهFramework.NET به فراوانی دارای این کالس ها و متد هاست.در این فصل برای نمونه به سه کالس اشاره می کنیم که کاربرد های زیادی در برنامه های شما خواهد داشت. پس از پایان این فصل انتظار می رود که فراگیر بتواند: ١ اجزای خط عنوان یک متد را توضیح دهد. ٢ ورودی ها و خروجی های یک متد را نام ببرد. ٣ با کالس math و متدهای پرکاربرد آن برنامه بنویسد. ٤ از کالس array و متدهای sort و search این کالس در برنامه های خود استفاده کند. ٥ کاربرد کالس string را بیان نماید و با استفاده از متدهای این کالس برنامه بنویسد. 98

2 ۱ ۴ کالس Math برای انجام محاسبات ریاضی عالوه بر چهار عمل اصلی نیاز به عملگرهای دیگری نظیر توان و یا عمل جذر و غیره می باشد. زبان #C از طریق کتابخانه.Net انواع توابع ریاضی مثلثاتی و لگاریتمی را برای برنامه نویس فراهم نموده است. این توابع به صورت متدهای استاتیک در کالس Math تعریف شده اند. در این قسمت با تعدادی از آنها که ساده می باشند آشنا می شویم. البته قرار نیست اینجا ریاضیات کار کنیم اما خواهید دید به راحتی می توانید کار محاسبه را به برنامه خود واگذارید. به محض نوشتن نام کالس Math و عالمت نقطه لیستی از متدهای کالس Math به وسیل ه IntelliSense نشان داده می شود. شکل ١ ٤ لیست متدهای کالس Math با حرکت در لیست مربوطه در مورد هر یک از متدها توضیحی ظاهر می شود. این توضیح شامل خط عنوان متد و عملکرد آن است. در واقع شناسنامه متد نشان داده می شود. در ادامه به توضیح برخی متدهای کالس Math می پردازیم. ١ ١ ٤ متد ( ) Pow ورودی های این متد دو عدد x و y از نوع اعشاری با دقت باال است و متد نیز یک عدد اعشاری دقت باال که حاصل x به توان y است را تولید نموده و به برنامه اصلی باز می گرداند. مثال برای محاسبه عبارت ٥ به توان ٢ کافی است اعداد ٥ و ٢ را به این متد ارسال کنیم و این متد نیز پس از اجرا عدد ٢٥ را بر می گرداند. از مقدار برگشتی می توان استفاده کرد. به عنوان مثال آن را داخل یک متغیر بریزیم و در یک عملیات دیگر مانند چاپ از آن بهره بگیریم: 99

3 double number = Math. Pow (5, 2); Console. WriteLine (number); البته می توانیم به صورت مستقیم نیز مقدار برگشتی را چاپ کنیم: Console. WriteLine (Math.Pow (5, 2); و یا مقدار خروجی را استفاده نکرد و دور ریخت! Math.Pow (5, 2); عملکرد متد Pow را می توان به صورت شکل زیر نشان داد: ورودی ها a b متد توان Pow خروجی a b شکل ٢ ٤ عملکرد متد Pow مثال ۱ ٤ : با اجرای برنامه زیر عدد ۲ به توان اعداد مختلف )از توان صفر تا ١٦( روی صفحه نمایش نشان داده می شوند. class mathdemo { static void Main ( ) { for (int i = 0; i < = 16; i++) { double number = Math. Pow (2, i); Console. WriteLine (number); } } } 100 برنامه ١ ٤ نمایش توان های مختلف عدد ٢

4 نکته کالس Math در فضای نامی System تعریف شده است و برای استفاده از متدهای آن باید نام System قبل از نام کالس نیز ذکر گردد و یا در ابتدای برنامه با دستور using حوزه System به برنامه معرفی شود. در جدول زیر لیستی از متدهای ریاضی نشان داده شده است. این متدها از کالس Math هستند. جدول ١ ٤ برخی متدهای ریاضی از کالس Math نام متد کاربرد شکل کلی مثال Math.Cos(10 ) )عدد ) Math.Cos کسینوس یک زاویه برحسب رادیان را حساب میکند. Cos Math. Log(16, 2) )مبنا عدد( Math. Log لگاریتم عدد را در مبنای تعیین شده حساب میکند. Log Math.Max(10, 20) عدد بزرگ تر از بین دو عدد را پیدا می کند. )عدد عدد( Math.Max Max Math.Min(10, 20) Math.Min عدد کوچک تر از بین دو عدد پیدا می کند. )عدد عدد( Min Math.Pow(10,3) حاصل عدد به توان تعیین شده را حساب میکند. )توان عدد( Math.Pow Pow Math.Round(10.7) )عدد( Math.Round Round عدد را گرد می کند. Math.Sin(20) )عدد( Math.Sin سینوس یک زاویه برحسب رادیان را حساب میکند. Sin Math.Sqrt(100) )عدد( Math.Sqrt جذر عدد را حساب میکند. همان رادیکال خودمان. Sqrt Math.Tan(20) )عدد( Math.Tan تانژانت یک زاویه برحسب رادیان را حساب میکند. Tan Math.Truncate (10.5) Math.Truncate بخش اعشار عدد را حذف می کند. )عدد( Truncate 101

5 ٢ ١ ٤ عدد π: برای محاسبه مساحت دایره نیاز به عدد π است. این عدد گنگ از حاصل تقسیم محیط دایره بر اندازه قطر به دست می آید و برای تمامی دایره ها ثابت و در حدود ٣/١٤ است. 1 اگر نیاز به دقت بیشتری در محاسبات داشتید می توانید از ثابت PI که در کالس Math تعریف شده است استفاده کنید. Math. PI توجه داشته باشید که PI متد نیست بلکه یک ثابت است. می توانید مقدار آن را در یک متغیر اعشاری ذخیره کنید و یا به متد WriteLine() برای چاپ ارسال کنید: Console. WriteLine (Math. PI); فرض کنید: می خواهیم اندازه مساحت دایره ای را محاسبه و نمایش دهیم که کاربر اندازه شعاع آن را وارد می کند. الگوریتم و روش انجام کار: برای محاسبه مساحت 2 دایره از فرمول πr 2 استفاده می کنیم که منظور از r شعاع 3 دایره است. کنجکاوی بررسی کنید متد Abs چه عملی انجام می دهد / / Area of a Circle = πr2 double area = Math. PI Math. Pow (radius, 2); Pi= 3/ Area 2 Radius 3 102

6 ١ برنامه زیر را در محیط VS تایپ کرده و نتیجه اجرای آن را مشاهده کنید: using System; class Program { static void Main ( ) { Console. WriteLine (Math.Max(100, 200) ); //200 Console. WriteLine (Math.Max(-100, -200) ); Console. WriteLine (Math.Min(100, 200) ); //100 Console. WriteLine (Math.Min(-100, -200) ); Console. WriteLine (Math.Pow (2, 3) ); //8 Console. WriteLine (Math.Pow(-2, 3) ); Console. WriteLine (Math.Round(18.5) ); / /19 Console. WriteLine (Math.Round(18.25) ); Console. WriteLine (Math.Sqrt (225) ); / /15 Console. WriteLine (Math.Sqrt (200) ); کار در کارگاه 1 } } Console. WriteLine (Math.Truncate (1.23) ); / /1 Console. WriteLine (Math.Truncate (1.54) ); برنامه ٢ 4 آزمایش متدهای کالس Math 2 خروجی هر خط برنامه را بنویسید. نتیجه خروجی بعضی از خطوط برنامه نوشته شده است. 103

7 مثال ٢ ٤ : برنامه ای بنویسید که ١۰ عدد را بگیرد و کمترین آنها را نمایش دهد. الگوریتم و روش انجام کار: برنامه محاسبه کمترین عدد را سال گذشته نوشته اید. با توجه به اینکه در فصل ٢ آرایه را یاد گرفته اید این برنامه را با آرایه می نویسیم. برای این منظور پس از تعریف متغیر آرایه ای برای دریافت اعداد از حلقه for کمک می گیریم. سپس اولین عدد را به عنوان کمترین عدد لیست در متغیر min می ریزیم و از عدد دوم تا انتهای لیست عمل مقایسه و ریختن در متغیر min را در صورت نیاز انجام می دهیم. متد Min کالس math به ما کمک می کند تا عمل مقایسه زیر را با دستور انتساب جایگزین کنیم )برنامه ٣ ٤ (. if (min < arr [i]) min = arr[i]; 104 کار در کارگاه 2 سؤال: با توجه به برنامه زیر توضیح دهید کدام دستور جایگزین شرط باالست. using System; namespace MinAndMax { class Program { static void Main(string[ ] args) { int[] arr; arr = new int[10]; for (int i = 0; i <=9; i++) { Console.Write( enter the {0}th number:, i+1); arr[i] = int.parse(console.readline( )); } int min = arr[0]; for (int i = 1; i <= 9; i++) min = Math.Min(min, arr[i]);

8 } } Console.WriteLine( minimum is {0}, min); Console.ReadKey( ); } برنامه 3 4 محاسبه کوچک ترین عدد دهیم سؤال: اگر بخواهیم بیشترین عدد را هم در این برنامه نمایش دهیم چه تغییراتی باید انجام ۲ ٤ کالس string همان طور که در برنامه می توان متغیری برای نگهداری داده های عددی تعریف کرد برای داده های رشته ای نیز می توان متغیری از نوع string تعریف کرد. این نوع داده در واقع یک کالس است و متغیری که از این نوع تعریف می شود اشاره به ردیفی از کاراکترها می کند. مثال ۳ ٤ : برای نگهداری کلمه Mohammad از یک متغیر رشته ای به صورت زیر استفاده می کنیم: string name = "Mohammad" ; شکل 4 ٤ ساختمان یک رشته 105

9 برای آنکه به حروف یک رشته دسترسی داشته باشیم می توانیم مانند آرایه ها از اندیس حروف استفاده کنیم. ]شماره کاراکتر ] نام رشته متنی توجه داشته باشید اندیس از صفر شروع می شود. بنابراین name[5] کاراکتر ششم رشته name را در خود جای داده است. نکته تغییر ناپذیری یک رشته: پس از اینکه یک رشته در حافظه ایجاد شد محتویات آن قابل تغییر نیست. به عبارت دیگر یک رشته پس از ایجاد تغییر ناپذیر 1 است. شاید از خود بپرسید چرا می توانیم به یک رشته مقداری دیگر دهیم پاسخ این است که هر بار که متغیر رشته ای مقدار دیگری می گیرد مانند این است که دوباره تعریف شده است! اما ما نمی توانیم مثال یک حرف از آن را تغییر دهیم. اگر متغیری را از نوع string تعریف نماییم این متغیر دارای متدهایی خواهد بود که می توانند عملیات سودمندی را انجام دهند. مثال متدی به نام () ToLower قادر است حروف انگلیسی موجود در رشته را به حروف کوچک تبدیل کند و در مقابل آن متد ToUpper() می تواند حروف انگلیسی رشته را به حروف بزرگ تبدیل کند. Immutable 1 106

10 جدول ٢ ٤ برخی متدهای رشته ای از کالس String 1 متد CompareTo () IndexOf )( ToLower () ToUpper () Insert () Length Replace() شرح کار متد مقایسه دو رشته موقعیت وجود یک کاراکتر در رشته را برمیگرداند. تبدیل تمام کاراکترهای یک رشته به حروف کوچک تبدیل تمام کاراکترهای یک رشته به حروف بزرگ درج یک کاراکتر یا یک رشته در درون یک رشته دیگر تعداد کاراکترهای یک رشته را بر میگرداند. یک کاراکتر در یک رشته را با کاراکتر یا یک رشته دیگری عوض میکند. نوع برگشتی bool int string string string int string نکته این متد ها روی خود رشته تأثیر نمی گذارند بلکه یک رشته دیگر بر می گردانند. بنابراین محتوای متغیر رشته ای را تغییر نمی دهند. کار در کارگاه 3 مثال ٤ ٤ : کار با متدهای رشته ای: ١ عملکرد متدهای مختلف کالس string را با تایپ برنامه صفحه بعد مشاهده کنید: 1 متدهای کامل در پیوست 3 ببینید. 107

11 using System; class Program { static void Main(string[] args) { string s = " This is a String! "; Console.WriteLine ("the main string : \"{0}\"", s); Console.WriteLine (" ToLower: \"{0}\"", s.tolower()); Console.WriteLine (" ToUpper: \"{0}\"", s.toupper()); Console.WriteLine (" Insert: \"{0}\"", s.insert(0, "Note," ) ); Console.WriteLine (" Length: {0}", s.length); Console.WriteLine (" index of 'i': {0}", s.indexof('i')); Console.WriteLine (" Remove:\"{0}\"", s.replace("this is", "we have" ) ); Console.ReadKey( ); } } برنامه 4 ٤ آزمایش متدهای کالس String کار در کارگاه 4 مثال ٥ ٤ : برنامه ای بنویسید که یک نام کاربری و گذرواژه را بگیرد. اگر نام کاربری user و گذرواژه "pass" وارد شود پیام ورود موفقیت آمیز داده شود. همان طوری که در پست الکترونیکی و برنامه های مختلف دیده اید نام کاربری به کوچک یا بزرگی حروف حساس نیست ولی گذرواژه باید دقیقا مطابقت داشته باشد. الگوریتم و روش انجام کار: در این برنامه پس از دریافت نام کاربری و گذرواژه باید بررسی شود که برابر با مقدار خواسته شده می باشد یا خیر. برای آنکه بررسی نام کاربری حساس به نوع حروف نباشد نامی که کاربر وارد می کند را به رشته ای با حروف کوچک تبدیل می نماییم.چرا 108

12 using System; class Program { static void Main(string[] args) { Console.Write("enter username: " ); string username = Console.ReadLine(); Console.Write("enter password: " ); string password = Console.ReadLine(); if (username.tolower() == "user" && password == "pass" ) Console.WriteLine("your login was successful. Welcome!" ); else Console.WriteLine("username or password is wrong" ); Console.ReadKey(); } } برنامه 5 ٤ بررسی نام کاربری حساس به کوچکی و بزرگی حروف می کند سؤال: اگر بخواهیم از ToUpper به جای ToLower استفاده کنیم کد چه تغییری سؤال: این برنامه را طوری تغییر دهید که تا وارد نشدن نام و گذرواژه صحیح با دادن پیام مناسب عمل دریافت تکرار شود. ٣ ٤ کالس Array در فصل ٢ با مبحث آرایه و کاربردهای آن آشنا شدید. برخی از برنامههایی که با استفاده از آرایهها نوشتیم دارای کدهای طوالنی و وقتگیری است که با کالس Array و متدهای آن قابل جایگزینی است. از ویژگی های این کالس وجود متدهای مختلف استاتیک برای عملیات بر روی آرایهها است. این متده ا کامال آزمایش شده و مطمئن هستند. برای مثال عمل جستجوی خطی دودویی و مرتب سازی آرایه با استفاده از متدهای کالس Array به راحتی قابل انجام است. در جدول ٣ ٤ لیست این متدها و توضیحات آنها را میبینید. 109

13 جدول ٣ 4 برخی متدهای کالس Array نام متد Sort Reverse IndexOf LastIndexOf BinarySearch Copy Clear کاربرد مرتب سازی لیست شکل کلی )نام آرایه( Array.Sort مثال Array.Sort (names( وارونه کردن عناصر آرایه )نام آرایه( Array.Reverse Array.Sort (names( جستجوی یک مقدار در Array.IndexOf آرایه و برگرداندن مکان اولین مورد پیدا شده )نام آرایه مقدار( Array.IndexOf(names, ali ) جستجوی یک مقدار در Array.LastIndexOf آرایه و برگرداندن مکان آخرین مورد پیدا شده )نام آرایه مقدار( Array.LastIndexOf(names, ali ) Array.BinarySearch جستجوی یک مقدار در آرایه مرتب شده صعودی و برگرداندن مکان اولین مورد پیدا شده کپی کردن عناصر یک آرایه در آرایه دیگر از اولین عنصر تا تعداد تعیین شده )نام آرایه مقدار( Array.Copy )تعداد نام آرایه مبدأ عناصر نام آرایه مقصد ) Array.BinarySearch(names, name)); Array.BinarySearch(names, family,10); پاک کردن و تنظیم مقدار عناصر تعیین شده آرایه یا مقدار پیش فرض نوع داده آرایه Array.Clear )تعداد عناصر شروع اندیس نام آرایه( Array.BinarySearch(names, 4,10); کار در کارگاه 5 مثال 6 4 : برنامه ای بنویسید که اسامی دانش آموزان یک کالس را دریافت کرده و سپس آنها را براساس نام مرتب کرده و نمایش دهد. الگوریتم یا روش انجام کار: ابتدا تعداد دانش آموزان از کاربر دریافت و به همان میزان آرایه ای ایجاد و اسامی از کاربر دریافت می شود. در مرحله بعد اسامی وارد شده مرتب و در نهایت 110

14 اسامی چاپ میشود. using System; class Program { static void Main(string[] args) { Console.Write("enter number of students:" ); byte count = byte.parse(console.readline()); string[] studentname = new string[count]; for (int i = 0; i < count; i++) { Console.Write("Student Name {0}:", i + 1); studentname[i] = Console.ReadLine(); } Array.Sort(studentName); Console.WriteLine("students in name order:" ); for (int i = 0; i < count; i++) Console.WriteLine("{0,3} ==> {1,-25}", i + 1, studentname[i]); Console.ReadKey(); } } برنامه 6 ٤ مرتب سازی اسامی با استفاده از متد Sort ٢ آرایه را پس از مرتب شدن برعکس نمایید. ٣ در انتهای برنامه و قبل از دستور Console.ReadKey() قطعه برنامه زیر را که نتیجه جستجوی دودویی و خطی یک نام در آرایه است را اضافه کنید. 111 Console.Write(" \n enter a name for search in students:" ); string name = Console.ReadLine ( ); Console.WriteLine("Binary Search Result: " + Array.Binary Search (studentname, name) ); Console.WriteLine("linear search Result: " + Array.Index Of (student Name, name) ); شکل 5 ٤

15 ٤ در اجرای برنامه یکی از اسامی موجود در لیست دانش آموزان را برای جستجو وارد کنید. نتایج را مشاهده کنید. نتیجه جستجوی دودویی 1- خواهد بود. این پاسخ به معنای یافت نشدن نام مورد نظر است. چرا نتیجه چنین است 112

16 خودآزمایی فصل چهارم ١ هر متد از سمت راست را با توضیح سمت چپ مطابقت دهید )یک توضیح اضافی است(. 1 گرد کردن عدد Math.Sqrt الف( 2 مرتب کردن آرایه Math.Pow ب( 3 وارون نمودن آرایه Math.Round ج( 4 توان رساندن عدد Array.BinarySearch د( 5 جستجوی خطی کلید Array.Sort و( 6 محاسبه جذر عدد 7 جستجوی دودویی در یک آرایه مرتب Array.Reverse ه( ٢ با متدهایی که تاکنون شناخته اید جدول زیر را تکمیل کنید. کالس array کالس string کالس math 113 ٣ راجع به کاربرد متدهایی که در جدول باال نوشته اید با هم کالس خود بحث کنید. ٤ خروجی برنامه زیر چیست using System; class Convert { static void Main(string[ ] args) { int a, b; double d = 0.75; a = (int) Math. Round (d); b = (int)d; Console. WriteLine (a); Console. WriteLine (b); } }

17 ٥ حاصل عبارت زیر چیست Math.Truncate(Math.Round (Math.Pow(2,3)/5) +2.8) ٦ خروجی دستورات زیر چیست static void Main(string[ ] args) { int [ ] numbers = { 7, 42, 16, 8, 16, 14 }; Array.Reverse(numbers); Array.Sort(numbers); for (int i = 0; i < 6; i++) Console.WriteLine(numbers[i]); Console.ReadKey(); } ٧ در سؤال قبل اگر به جای دستور for دستور زیر را می نوشتیم چه چیزی نمایش داده می شد Array.IndexOf (numbers, 16); ٨ دستورات زیر چه کاری انجام می دهند static void Main(string[] args) { string exp = "i am a good student"; for (int i = 0; i < strings.length; i++) Console.WriteLine(strings[i]); Console.ReadKey( ); } 114

18 تمرینات برنامه نویسی فصل چهارم ١ می خواهیم 20 نفر از دانش آموزان را برای نشستن در کارگاه رایانه به گروه های دو نفری تقسیم کنیم. برنامه ای بنویسید که نام این 20 نفر را دریافت کند و با مرتب کردن نام آنها هر دو نفر را برای گروه های شماره بندی شده از 1 تا 10 نمایش دهد. ٢ برنامه ای بنویسید که یک رشته متنی را دریافت کند. کلمات آن را برعکس نمایش دهد. به عنوان مثال اگر رشته متنی student" I" am a good را به برنامه بدهیم متن "I "student good a am را نمایش دهد. ٣ می خواهیم در کالس خود یک فعالیت پژوهشی با حضور 10 دانش آموز اول لیست کالسی انجام دهیم. برنامه ای بنویسید که اسامی 30 دانش آموز را دریافت کرده و اسامی 10 نفر اول دفتر کالسی )می دانید که اسامی دانش آموزان در دفتر کالسی بر اساس حروف الفبا مرتب شده است( را که در دفتر کالسی پژوهش )آرایه جدید( نیز وارد می کند نمایش دهد. 115

19 فعالیت متن زیر از MSDN با موضوع آرایه برداشت شده است. آن را با کمک هم کالسی خود ترجمه کنید و به کالس ارائه نمایید. Initializing Arrays C# provides simple and straightforward ways to initialize arrays at declaration time by enclosing the initial values in curly braces ({}). The following example shows the way to initialize an array. Note If you do not initialize an array at the time of declaration, the array members are automatically initialized to the default initial value for the array type. Also, if you declare the array as a field of a type, it will be set to the default value null when you instantiate the type. int[] numbers = new int[5] {1, 2, 3, 4, 5}; string[] names = new string[3] {" Matt", "Joanne", "Robert"}; 116

20 واژگان و اصطالحات انگلیسی فصل چهارم ردیف واژه انگلیسی معنی به فارسی ١ Area ٢ Array ٣ Immutable 4 Upper ٥ Lower ٦ Radius 117

21 فصل پنجم ایجاد برنامه های ویندوزی با استفاده از ویژوال استودیو خروجی تمام برنامه هایی که در کتاب برنامه سازی یک و همچنین فصل های قبلی در این کتاب نوشتید در محیط کنسول قابل مشاهده بود. در این فصل می خواهیم با روش برنامه نویسی در محیط ویندوز آشنا شویم تا بتوانیم برنامه هایی با ظاهری زیباتر مانند برنامه های کاربردی رایج در ویندوز بنویسیم. برای محقق شدن این هدف در دو فصل آینده برنامه های خود را در محیط ویندوزی خواهیم نوشت. پس از پایان این فصل انتظار می رود که فراگیر بتواند: ١ تفاوت بین برنامه های کنسولی و ویندوزی را توضیح دهد. 2 واسط گرافیکی کاربر و کاربرد کالس From را توضیح دهد. 3 گزینه های مورد نیاز پنجره ها منو ها و نوار ابزارهای IDE را در محیط ویندوزی مورد استفاده قرار دهد. 4 پروژه ویندوزی با یک فرم ایجاد نماید و ویژگی های مورد نیاز را تنظیم نماید. 5 کنترل های برچسب و جعبه تصویر را به فرم خود اضافه کند و برخی ویژگی های آنها را به دلخواه تغییر دهد. 6 با استفاده از VSبرنامه ویندوزی را ترجمه و اجرا نماید. 118

22 ١ ٥ تفاوت برنامه های کنسولی و برنامه های ویندوزی برنامه های کنسولی که تاکنون نوشته اید برای یادگیری مفاهیم اساسی و مقدماتی زبان برنامه نویسی #C و به دست آوردن تجربه کدنویسی خوب است اما برای تولید برنامه های کاربردی که در زندگی روزمره کاربرد داشته باشد چندان مناسب نیست. امروزه بیشتر کاربران کامپیوتر با برنامه های کاربردی رایج کار کرده اند و توقع دارند برنامه ای که شما می نویسید دارای ظاهر و عملکردی شبیه برنامه های رایج در ویندوز باشند. در اجرای برنامه هایی که از این به بعد می نویسید انتظار می رود که با اجرای آن یک پنجره باز شود و در داخل آن منوها و ابزارهای مختلفی دیده شود که با کلیک کردن روی هر منو یا روی گزینه ای از یک منو پنجره دیگری ظاهر شود. در این پنجره ها اطالعاتی از کاربر در قالب یک فرم دریافت می شود و یا اطالعاتی نشان داده می شود. در هر فرم قسمت هایی برای ورود اطالعات و کلیدهایی برای تأیید و ثبت اطالعات و یا لغو کردن عملیات وجود دارد. به عنوان نمونه در شکل زیر نمونه ای از برنامه حدس عدد را که در کتاب برنامه سازی ١ در محیط کنسول ساخته بودید در محیط ویندوز مشاهده می کنید. این برنامه را در ادامه می سازید. شکل 1 5 یک فرم و برنامه کاربردی در برنامه های کنسولی اجرای برنامه از متدی به نام Main() شروع می شود و دستورات داخل آن به ترتیب و خط به خط اجرا می شوند. در چنین برنامه هایی با استفاده از متدهای موجود مانند ReadLine() برای دریافت یک رشته درخواست هایی به سیستم عامل داده می شود که عملیاتی را برای ما انجام دهد. سخت افزار فرمان سیستم عامل درخواست انجام یک عمل برنامه تحت کنسول 119 شکل ٢ ٥

23 در برنامه های ویندوزی نیز اجرای برنامه با متدی به نام Main() شروع می شود اما 2 برخالف برنامههای کنسول برنامه در حالت انتظار 1 قرار میگیرد تا یک اتفاق یا رویداد 3 رخ دهد که در این صورت نسبت به آن واکنش نشان دهد. مثال وقتی کاربر با ماوس بر روی دکمه در شکل 1 5 کلیک میکند سیستم عامل که مدیر وکنترل کننده منابع سیستم است متوجه میشود و این اتفاق را به عنوان یک رویداد به برنامه اطالع میدهد. رویداد چیست رویداد یک اطالع 4 است که از طرف سیستم عامل به برنامه داده میشود تا نشان دهد که یک اتفاق رخ داده است. برنامههای ویندوزی باید به رویدادهایی که برای آنها مهم است عکس العمل نشان دهند. User Action عمل کاربر برنامه تحت ویندوز سیستم عامل Message پیام شکل 3 ٥ برای مقایسه بهتر برنامههای کنسولی و برنامههای ویندوزی مثال زیر را در نظر بگیرید: فرض کنید شما در منزل هستید و قرار است برای شما مهمان بیاید. اگر بخواهید به موقع درب منزل را برای وی باز کنید میتوانید به یکی از روشهای زیر عمل کنید: ١ هر چند لحظه یک بار به سمت در منزل بروید و بیرون در را نگاه کنید که آیا مهمان شما آمده است. ٢ میتوانید کارهای دیگر خود را رها کنید و در جلوی در منزل خود منتظر شوید تا وی بیاید. ٣ میتوانید در داخل منزل مشغول انجام کارهای خود باشید هر وقت که مهمان آمد زنگ زد و شما را از ورودش مطلع کرد به استقبال وی بروید و در را برایش باز کنید. شکل ٤ ٥ Wait state 1 Event 2 Button 3 Notification 4 120

24 در برنامه های کنسولی در دستوراتی مانند دستور دریافت داده اجرای برنامه متوقف می شود و تا زمانی که کلید Enter زده شود دستورات بعدی اجرا نمی شوند. پس از اینکه کاربر اطالعات را وارد کرد و کلید Enter را زد خطوط بعدی برنامه به ترتیب اجرا می شوند. در مقایسه با مثال باال می توان گفت در برنامه های کنسولی از روشی مانند روش 1 و یا روش 2 استفاده می شود. به نظر شما در برنامه های ویندوزی از کدام روش استفاده می شود اما در محیط ویندوز هنگامی که کاربر عملی 1 را انجام می دهد مثال کلیدی از صفحه کلید را فشار می دهد و یا با استفاده از ماوس بر روی منویی و یا کلیدی کلیک می کند از طرف سیستم عامل به برنامه اطالع داده می شود که یک رویداد رخ داده است. در واقع برنامه های ویندوز با دریافت پیام 2 هایی از سیستم عامل از رخ دادن رویداد مطلع می شوند. بنابراین در برنامه های ویندوزی شما به عنوان برنامه نویس باید پیش بینی کنید که اگر کاربر عملی را انجام دهد برنامه چگونه نسبت به آن واکنش نشان دهد و برای این منظور باید متدهایی را بنویسید که در مواجهه با یک رخداد یا رویداد مانند کلیک ماوس در یک محل به کامپیوتر اعالم کند که چه کاری باید انجام شود. به این متدها Event Handler گفته می شود که برای سادگی در این کتاب به جای آن به اختصار EH را به کار می بریم. )کلیک کردن ماوس( Action سیستم عامل Message برنامه تحت اجرای Event Handler دستورات مربوط به واکنش در مقابل کلیک ماوس شکل ٥ ٥ به این ترتیب هنگامی که کاربر بر روی کلیدی با ماوس کلیک می کند این رویداد از طریق سیستم عامل شناسایی می شود و از طرف سیستم عامل یک پیام به برنامه فرستاده می شود و متد EH مربوط به آن رویداد که قبال نوشته ایم به طور خودکار اجرا می شود. طبیعی است که اگر برنامه فاقد 121 Action 1 Message 2

25 متدی برای یک رویداد باشد هر چقدر که سیستم عامل پیام بفرستد برنامه در مقابل آن واکنشی نشان نخواهد داد. شکل کلی یک متد EH به صورت زیر است: )جزئیات رویداد فرستنده پیام( نام متد void } دستورات واکنش به رویداد { شکل ٦ ٥ هر متد EH دارای دو پارامتر ورودی است که اولی نوع شئ 1 فرستنده پیام را مشخص می کند و پارامتر دوم مربوط به جزئیات رویداد است مثال در مورد کلیک ماوس شامل اطالعاتی در مورد موقعیت مکانی ماوس در لحظه کلیک و کلیدی )کلید چپ راست یا وسط( از ماوس است که فشار داده شده است. هنگامی که یک برنامه ویندوزی مانند برنامه ماشین حساب را اجرا می کنید این برنامه پس از نمایش پنجره خود در حالت انتظار قرار می گیرد تا شما مثال بر روی دکمه ای کلیک کنید و یا از طریق صفحه کلید عالمت یا رقمی را وارد کنید که در این صورت یک رویداد رخ می دهد و EH مربوطه اجرا می شود. یک تفاوت دیگر بین برنامه ویندوزی و کنسولی این است که برنامه های ویندوزی پس از واکنش به رویدادها و انجام عملیات مربوطه مجددا در حالت انتظار برای رویداد بعدی به سر می برند تا در نهایت کاربر از برنامه خارج گردد. در ضمن با توجه به اینکه رویدادهای مختلفی ممکن است از طریق کاربر رخ دهد که قابل پیش بینی نیست بنابراین با اجرای برنامه مشخص نیست که کدام رویداد ممکن است ابتدا رخ دهد و به عبارت دیگر ترتیبی برای رویدادها قابل پیش بینی نیست. ۲ ۵ واسط گرافیکی کاربر در طول دوره های مختلف تحصیلی ممکن است یک روزنامه دیواری با دوستان خود درست کرده باشید. برای ایجاد روزنامه دیواری ابتدا به یک مقوا نیاز دارید تا مطالب خود را بر روی آن Object 1 122

26 بنویسید و یا عکس ها و بریده های مجالت را بر روی آن بچسبانید. در ساخت یک برنامه ویندوزی نیز باید صفحه یا فرمی در اختیار داشته باشید تا انواع دکمه ها منوها تصاویر و نوشته ها را روی آن قرار دهید. این فرم واسط گرافیکی کاربر یا 1 GUI نامیده می شود. فرم صفحه ای است که اجزای گرافیکی گوناگونی بر روی آن قرار می گیرد. اندازه یک فرم متناسب با تعداد و اندازه اشیای گرافیکی است که قرار است روی آن جای گیرند )شکل ٧ 5 (. شکل ٧ ٥ یک فرم خالی مانند یک مقوای روزنامه دیواری همان طور که برای خرید مقوای روزنامه دیواری الزم است به یک فروشگاه لوازم التحریر مراجعه کنید در زبان برنامه نویسی #C نیز برای ایجاد یک فرم باید به کتابخانه ارزشمند.Net مراجعه کنید. در این کتابخانه کالسی به نام Form تعریف شده است که برای ایجاد یک فرم الزم است از آن به عنوان پایه و مبنای کار خود استفاده کنیم. ٣ ٥ ایجاد یک پروژه ویندوزی با کمک VS برای ایجاد یک برنامه ویندوزی VS را اجرا کنید و در صفحه آغازین روی گزینه New Project کلیک کنید در پنجره ای که مطابق شکل ٨ ٥ نمایان می شود گزینه #C Visual و سپس Windows Forms Application را انتخاب کنید. 123 Graphical User Interface 1

27 شکل ٨ ٥ پنجره ایجاد پروژه جدید می توانید نام و مسیر ذخیره سازی پروژه را مانند برنامه های کنسولی انتخاب کنید. پس از تأیید و کلیک بر روی دکمه OK وارد محیط IDE )شکل ٩ ٥( می شوید. شکل ٩ ٥ پنجره IDE پروژه ویندوزی 124

28 همان طور که در شکل ٩ ٥ مشاهده می شود خیلی با این محیط غریبه نیستیم و شبیه محیط تولید برنامه کنسولی است. در اینجا گذری بر روی پنجره های مختلف آن خواهیم داشت آشنایی با پنجره های IDE در باالی صفحه منوها و نوار ابزارها 1 مانند محیط تولید برنامه های کنسولی وجود دارد. البته همان طور که در شکل ١٠ ٥ دیده می شود یک منو به نام Format اضافه شده است که از گزینه های آن برای شکل دهی ظاهری و تنظیم جای دهی کنترل های یک فرم استفاده می شود. شکل ١٠ 5 نوار منوها و نوار ابزارهای IDE در یک پروژه ویندوزی در سمت چپ صفحه )IDE( پنجره ای به نام جعبه ابزار 2 دیده می شود. در پنجره جعبه ابزار نام و آیکن کنترل های قابل استفاده لیست شده است. کنترل ها در جعبه ابزار دسته بندی شده اند و هنگامی که بر روی نام یک گروه کلیک می کنید کنترل های مربوطه نمایش داده می شوند و اگر مجددا روی نام آن گروه کلیک کنید لیست مربوطه بسته می شود. در شکل ١١ ٥ جعبه ابزار به صورت گروه بندی نشان داده شده است. شکل ١١ ٥ پنجره جعبه ابزار Tool bar 1 Tool box 2 125

29 در وسط صفحه یک فرم دیده می شود که از آن برای طراحی واسط کاربری و قراردادن کنترل ها مانند مقوای روزنامه دیواری استفاده خواهیم کرد. اندازه طول و عرض فرم به راحتی با استفاده از ماوس و با کشیدن گوشه های آن که در شکل ١٢ ٥ مشخص شده است قابل تغییر 1 است. با این پنجره که پنجره طراحی فرم نامیده می شود زیاد کار داریم. شکل ١2 ٥ پنجره طراحی فرم با توجه به اینکه محیط VS قابل تنظیم است ممکن است صفحه ای که روی کامپیوتر شما دیده می شود با آنچه که در شکل ٩ ٥ مشاهده می کنید کمی متفاوت باشد. مثال در شکل ١٣ ٥ پنجره هایی در حالت Auto Hide قرار دارند و با کلیک بر روی نام آنها پنجره دیده می شود و با کلیک در نقطه دیگری از صفحه پنجره ها به طور خودکار کنار می روند و فقط نام پنجره ها دیده می شوند. شکل ١٣ ٥ حالت Auto Hide پنجره ها Form Designer 1 126

30 از قابلیت Auto Hide برای کنار رفتن موقتی پنجره ها و برای بزرگ شدن محیط کار استفاده می شود. برای اینکه پنجره ای را از حالت Auto Hide خارج کنید و یا این قابلیت را به آن بدهید کافی است در روی خط عنوان پنجره بر روی آیکن پونز 1 کلیک کنید. شکل ١٤ ٥ را مشاهده کنید. شکل ١٤ ٥ قابلیت کنار رفتن پنجره به طور خودکار فعال است. اگر پونز در حالت افقی مانند شکل ١٤ ٥ باشد قابلیت Auto Hide فعال است و اگر روی آن کلیک کنید پونز به حالت عمودی قرار می گیرد و پنجره ثابت می ماند. شکل ١٥ ٥ را مشاهده کنید. شکل ١٥ ٥ حالت کنار رفتن خودکار پنجره غیر فعال است. در کنار آیکن پونز آیکن مثلثی شکلی مانند شکل ١٦ ٥ نیز قرار دارد که با کلیک بر آن منوی Windows Posit ion باز می شود تا روش های دیگری برای قرارگیری پنجره فراهم کند. در قسمت کار در کارگاه آنها را تجربه خواهید کرد. 127 شکل ١٦ ٥ نحوه قرار گیری و نمایش پنجره Pushpin 1

31 به پنجره Solution Explorer مطابق شکل ١٧ ٥ دقت کنید در این پنجره نسبت به آنچه که در برنامه کنسولی مشاهده کردید موارد بیشتری دیده میشود. عالوه بر فایل Program.cs که نام آن برای شما آشنا است فایلهای دیگری از جمله دو فایل به نامهای Form1.cs و Form1.Designer.cs دیده میشوند. دستورات یک برنامه ویندوزی در این سه فایل قرار میگیرد. اگر در پنجره Program.cs روی نام فایل Solution Explorer شکل ١٧ ٥ پنجره Solution Explorer در یک پروژه ویندوزی دوبار کلیک کنید پنجره ای باز می شود و محتویات آن را نشان می دهد. در این فایل کالس اصلی برنامه و متد () Mainمطابق شکل ١٨ ٥ قرار دارد. شکل ١٨ ٥ محتوای فایل Program.cs 128

32 اگر در پنجره Solution Explorer بر روی کلمه Form1.cs کلیک راست کنید منویی مانند شکل ١٩ ٥ ظاهر می گردد که شامل گزینه هایی برای انجام عملیات مختلف بر روی آن فایل است. به این منوها که گزینه های آن مربوط به یک موضوع خاص است منوی موضوعی 1 یا محلی گفته می شود. شکل ١٩ ٥ منوی موضوعی در مورد فایل Form1.cs در منوی ظاهر شده اگر بر روی گزینه View Designer کلیک کنید یا از میان بر 2 آن Shift+F7 استفاده کنید پنجره طراحی فرم را خواهید دید. نکته در هنگام برنامهنویسی در محیط VS سعی کنید از کلیدهای میانبر استفاده کنید تا سرعت شما در انجام عملیات باال رود. مثال هنگامی که در پنجره Solution Expolrer فایل Form 1.cs انتخاب شده است برای مشاهده دستورات آن و یا برای مشاهده پنجره طراحی فرم که بارها مورد استفاده قرار میگیرد از میانبرهای زیر استفاده کنید. مشاهده دستورات فایل فرم 0+ Alt Ctrl + مشاهده پنجره طراحی فرم Shift + F7 129 Context menu 1 Shortcut 2

33 در منوی موضوعی فایل Form1.cs اگر بر روی گزینه View Code کلیک کنید محتوای فایل Form1.cs را مانند شکل ٢٠ ٥ مشاهده خواهید کرد که قسمتی از تعریف کالس Form1 است. شکل ٢٠ ٥ محتوای دستورات و برنامه فایل Form1.cs به خط عنوان تعریف کالس Form1 توجه کنید کلمه کلیدی partial در خط عنوان کالس نشان میدهد که بخشی از تعریف کالس Form1 در فایل دیگری قرار دارد. قسمت دیگر تعریف کالس Form1 کجا است فایل دیگری که VS ایجاد می کند و شما نباید محتویات آن را دستکاری کنید فایل Form1.Designer.cs است. هنگامی که از جعبه ابزار سمت چپ صفحه کنترلی را انتخاب و آن را در روی فرم قرار می دهید و ویژگی های آن را مطابق سلیقه خود تنظیم می کنید VS تنظیمات شما را به دستورات و کدهای زبان #C تبدیل می کند. این دستورات به عنوان بخشی از تعریف کالس Form1 به وسیله VS در فایل Form1.Designer.cs به طور خودکار نوشته می شود و کار شما را بسیار آسان می کند. بنابراین بقیه تعریف کالس Form1 در این فایل قرار دارد. در پنجره Solution Explorer آن را پیدا کرده و با دو بار کلیک با احتیاط آن را باز می کنیم. همان طور که در شکل ٢١ ٥ مشاهده می کنید ادامه تعریف کالس Form1 دیده می شود. دستورات و محتویات این فایل با 130

34 قراردادن کنترل ها بر روی فرم افزایش می یابد. برای جلوگیری از دستکاری دستورات این فایل و در دسترس قرار ندادن آنها مترجم آنها را در لحظه اول نمایش نمی دهد. شکل ٢١ ٥ محتوای دستورات و برنامه فایل Form1.Designer.cs برای نمایش دستورات در سمت چپ پنجره ای که محتوای فایل Designer را نشان می دهد یک خط عمودی را مشاهده می کنید که در بین آن عالمت های - و در بعضی قسمت ها عالمت + قرار دارد. اگر بر روی عالمت + کلیک کنید منطقه ای نمایان می شود که تعدادی از دستورات در آن قرار گرفته است. 1 لطفا این دستورات را بدون آگاهی تغییر ندهید که در این صورت قسمت طراحی فرم دچار مشکل می شود. ٢ ٣ ٥ پنجره ویژگی ها و خواص اشیاء پنجره ای که در برنامه های ویندوزی از آن زیاد استفاده خواهیم کرد پنجره Properties است که در شکل ٢٢ ٥ مشاهده می کنید. 1 با استفاده از راهنمای #region و #endregion این امکان مهیا می شود که تعدادی دستور در لحظه اول نشان داده نشوند و در صورت لزوم با کلیک بر روی عالمت + نمایان شوند. Formatted: Font: 11 pt, Complex Script Font: 11pt Formatted: Font: 11 pt, Complex Script Font: 11pt 131

35 شکل 22 5 پنجره Properties در این پنجره ویژگی ها و خواص شئ و همچنین واکنش به رویدادهای هر شئ را می توانیم مقداردهی و تنظیم کن یم. در قسمت باالی این پنجره نام یک شئ که در فرم انتخاب شده نشان داده شده است و از طریق مثلث کوچک کنار آن می توان شئ دیگری را از بین اشیای موجود روی فرم انتخاب کنیم. در زیر نام شئ می توان با کلیک بر روی آیکنی که نظیر رعد و برق است لیست رویدادهای شئ مشاهده و یا بر روی آیکن کنار آن کلیک کرد تا لیست ویژگی های 1 شئ را مشاهده شود. د ر هر کدام از انتخاب ها لیست نشان داده شده را می توان به ترتیب نام و یا به ترتیب عملکر د که دسته بندی 2 شده است مشاهده نمایید. در ش کل ٢٣ ٥ آیکن های مربوطه دیده می شوند. شکل ٢٣ ٥ آیکن های ترتیب نمایش ویژگی ها در پنجره Properties Alphabetical view 1 Categorized view 2 132

36 3 3 5 استفاده از جعبه ابزار و قراردادن کنترل ها در روی فرم همان طورکه در فصل قبل بیان شد یک برنامه ساده ویندوزی از یک فرم تشکیل می شود که به عنوان نگهدارنده 1 برای قرار گرفتن اجزای گرافیکی دیگر استفاده می شود. شکل ٢٤ ٥ را مشاهده کنید. شکل ٢٤ ٥ پنجره طراحی و جعبه ابزار در حالی که پنجره طراحی فرم را مشاهده می کنید می توانید از جعبه ابزار استفاده کرده و کنترل مورد نظر خود را پیدا کنید. برای قرار دادن یک کنترل بر روی فرم می توانید روی کنترل مورد نظر دوبار کلیک کنید و یا با درگ کردن کنترل و رها کردن آن روی فرم کنترل مورد نظر را روی فرم بچسبانید. البته بعضی از کنترل ها مانند کنترل زمان سنج )تایمر( 2 با توجه به عملکردشان ممکن است در قسمت پایین فرم قرار گیرند که با آنها در این کتاب آشنا می شوید. اندازه فرم که برای طراحی استفاده می کنید قابل تغییر است. توجه داشته باشید که اگر در پنجره Form Designer در روی فرم دوبار کلیک کنید دستوراتی به فایل Form1.cs اضافه می شود که مربوط به الگوی یک EH است که در شکل ٢٥ ٥ نشان داده شده است به دلیل اینکه به طور اتفاقی و اشتباها دوبار کلیک کرده اید لذا دستورات اضافه شده را حذف کنید و یا با احتیاط عمل انجام شده را لغو و یا بی اثر کنید. 133 Container 1 Timer Control 2

37 شکل ٢٥ ٥ دستورات اضافه شده در اثر دو بار کلیک بر روی فرم کار در کارگاه 1: جابه جایی پنجره ها در VS ١ برنامه VS را اجرا کنید و یک پروژه Windows Forms Application ایجاد کنید. ٢ پنجره Solution Explorer را در حالت Auto Hide قرار دهید. ٣ پنجره Properties را نیز در حالت Auto Hide مانند شکل ٢٦ ٥ قرار دهید. شکل ٢٦ ٥ حالت کنار رفتن خودکار 134

38 ٤ هر دو پنجره را از حالت Auto Hide خارج کرده و به حالت چسبیده 1 مانند شکل ٢٧ ٥ قرار دهید. شکل ٢٧ ٥ پنجره ها در حالت چسبیده )Dock( ٥ پنجره Tool box را در حالت Auto Hide قرار دهید تا قسمت طراحی فرم مانند شکل ٢٨ ٥ بزرگ تر شود. اگر از قبل در حالت Auto Hide است آن را به حالت چسبیده تغییر دهید. شکل ٢٨ ٥ حالت کنار رفتن خودکار پنجره جعبه ابزار 135 Dock 1

39 ٦ ماوس را روی خط عنوان پنجره Solution Explorer برده و با استفاده از درگ کردن آن را به نقاط دیگر ببرید. توجه کنید که VS مکان هایی را مانند شکل ٢٩ ٥ به شما پیشنهاد می دهد. از آنها استفاده و موقعیت های مختلف را تجربه کنید. سعی کنید که مفهوم موقعیت های پیشنهادی را بفهمید. پنجره در حال درگ موقعیت های پیشنهادی شکل ٢٩ ٥ انتقال پنجره به نقاط دیگر صفحه ٧ برای اینکه هر دو پنجره Solution Explorer و Properties از کل فضای سمت راست صفحه به طور مشترک استفاده نمایند آنها را به صورت Tab Docked مانند شکل ٣٠ ٥ قرار دهید. برای این منظور پنجره Properties را درگ کرده و وقتی روی خط عنوان پنجره Solution Explorer رسید آن را رها کنید. ٨ مجددا هر دو پنجره را به صورت چسبیده مانند شکل ٢٧ ٥ قرار دهید. شکل ٣٠ ٥ پنجره ها در حالت Tab Docked 136

40 اکنون که با پنجره های محیط طراحی برنامه ویندوزی در VS آشنا شدیم می توانیم یک نمونه پروژه ویندوزی را قدم به قدم دنبال کنیم. 4 5 ساخت یک واسطه کاربری با استفاده از قابلیت طراحی تصویری در VS هنگامی که از امکانات VS برای طراحی واسطه کاربری استفاده می کنید بسیاری از دستورات و کدهای الزم بدون اینکه شما متوجه شوید به طور خودکار به وسیله VS تولید شده و در قالب فایل هایی که در ابتدای این فصل معرفی شد به برنامه اضافه می شوند. در قسمت کار در کارگاه 2 مراحل ساخت یک نمونه فرم ساده را بدون نوشتن حتی یک خط برنامه دنبال می کنیم. بدیهی است برای تولید فرم های کاربردی و واکنش به رویدادها عالوه بر استفاده از ابزارها و امکانات VS باید چند خط برنامه نیز بنویسیم. کار در کارگاه 2: ساخت اولین فرم ساخت یک برنامه یا یک فرم مانند شکل ٣1 5 شکل ٣١ ٥ اولین برنامه در ویژوال #C الگوریتم یا روش انجام کار: برای ایجاد چنین فرمی مراحل زیر را به دقت انجام دهید: ١ ایجاد یک پروژه ویندوزی: وارد برنامه VS شوید و یک پروژه جدید از نوع Windows Forms Application با نام پروژه WindowsApp و در مسیر مشخصی مانند شکل ٣٢ ٥ بسازید. اگر در حال حاضر در داخل VS هستید از طریق منوی File انتخاب گزینه Close Solution پروژه فعلی را ببندید و سپس یک پروژه جدید مطابق با آنچه که گفته شد بسازید. 137

41 شکل ٣٢ ٥ ایجاد پروژه جدید ٢ تعیین خط عنوان فرم: اگر به خط عنوان فرم در شکل ٣١ ٥ توجه کنید عبارت فارسی «شروع کار«دیده می شود. برای تغییر عنوان فرم به عبارت خواسته شده به پنجره ویژگی ها) Properties ( رفته و مانند شکل ٣٣ ٥ خاصیت Text را پیدا کرده و متن داخل آن یعنی "Form1" را پاک کرده و عبارت جدید «شروع کار«را تایپ کنید. اگر پنجره Properties دیده نمی شود از منوی View بر روی گزینه Properties Window کلیک کنید و یا از میان بر مربوطه استفاده نمایید. 138 شکل ٣٣ ٥ تغییر خاصیت Text مربوط به فرم از طریق پنجره Properties

42 ٣ اضافه کردن یک متن نمایشی بر روی فرم: برای نمایش یک متن یا عبارت بر روی فرم از کنترل برچسب )Label( استفاده می کنیم. به سراغ پنجره جعبه ابزار رفته و کنترل برچسب )Label( را پیدا کرده و آن را بر روی فرم قرار می دهیم. شکل ٣٤ ٥ را مشاهده کنید. شکل ٣٤ ٥ کنترل برچسب در جعبه ابزار با یکی از روش های زیر می توانید کنترل ها را بر روی فرم قرار دهید: ١ با استفاده از دابل کلیک بر روی کنترل ٢ با استفاده از روش Drag & Drop ٤ تعیین ویژگی Text برای برچسب: به پنجره طراحی فرم مراجعه کرده بر روی برچسب یک بار کلیک کنید تا انتخاب شود. با انتخاب کنترل برچسب روی فرم پنجره Properties ویژگی های آن را نشان می دهد. نام این کنترل به طور خودکار به وسیله VS انتخاب می شود که label1 است. در واقع این نام نام شئ است که از کالس Label ایجاد و یا نمونه سازی شده است. در خط 139

43 اول پنجره Properties نام شئ به همراه نام کالس آن نشان داده شده است. )Label1 System.windows.Forms.Label( حال در پنجره Properties پس از اطمینان از اینکه برچسب انتخاب شده خاصیت Text را مانند شکل ٣٥ ٥ پیدا کنید. شکل ٣٥ ٥ تغییر ویژگی متن کنترل برچسب برای اطمینان از اینکه برچسب انتخاب شده است به قسمت باالی پنجره Properties توجه کنید باید نام برچسب را مشاهده کنید. اگر چنین نیست روی فلش کوچک کنار آن کلیک کنید نام برچسب را پیدا کرده و آن را انتخاب کنید. پس از انتخاب کنترل برچسب عبارت»ساخت اولین فرم با ویژوال #C«را در قسمت Text برچسب وارد کنید. همان طور که در شکل 36 5 مشاهده می شود عبارت مورد نظر در خاصیت Text برچسب وارد شده اما به هم ریخته است. چون عبارت وارد شده ترکیبی از کلمات فارسی و همچنین حروف انگلیسی است لذا مشکل به هم ریختگی کلمات پیش آمده و عبارت»#C«عالوه بر اینکه در جای خود )انتهای جمله( قرار ندارد به شکل برعکس یعنی»C#«دیده می شود. برای رفع این مشکل چه باید کرد 140

44 شکل 36 5 متن شامل کلمات فارسی و انگلیسی قبال با چنین مشکالتی در برنامه هایی نظیر Word روبه رو شده بودید. در اغلب برنامه های کاربردی از زبان های محاوره ای پشتیبانی می شود که در آنها کلمات و جمالت از سمت راست به چپ نوشته می شود. درNET. نیز چنین است. در کنترل ها خاصیتی به نام RightToLeft برای پشتیبانی از زبان های راست به چپ )RTL( 1 پیش بینی شده است. بنابراین به سراغ خاصیت RightToLeft بروید و مقدار آن را به Yes تغییر دهید. شکل 37 5 را مالحظه کنید. شکل 37 5 ویژگی RightToLeft برای پشتیبانی از زبان های RTL 141 Right to Left Languages 1

45 با تغییر دادن مقدار ویژگی RightToLeft به مقدار Yes عبارت نوشته شده در برچسب به صورت شکل 38 5 خواهد شد: شکل 38 5 تغییر ویژگی RightToLeft همانطور که در شکل 38 5 مشاهده میکنید تنها اشکال باقیمانده برعکس بودن عبارت "#C" است که برای تصحیح آن به خاصیت Text بروید و آن را به صورت "C#" تایپ کنید. 5 تعیین ویژگی های فونت رنگ و محل قرارگیری برچسب: برای تعیین نوع فونت کنترل برچسب از خاصیت Font در پنجره Properties استفاده کنید و روی عالمت سه نقطه کلیک کنید تا لیست فونتهای موجود در کامپیوتر ظاهر شود. پنجرهای مانند شکل 39 5 مشاهده میشود که در آن میتوانید فونت دلخواه را به همراه اندازه و سبک آن انتخاب کنید. سعی کنید فونتی را انتخاب کنید که نوشتههای فارسی خوب شکل 39 5 پنجره فونت دیده شوند. 142

46 همچنین برای تعیین رنگ نوشته از خاصیت ForeColor استفاده می کنیم. پس از کلیک بر روی عالمت فلش پنجره ای برای تعیین رنگ باز می شود در آن پنجره مطابق شکل 40 5 بر روی سربرگ Custom کلیک کنید. شکل 40 5 پنجره رنگ حال می خواهیم محل قرارگیری کنترل را تنظیم کنیم. قبل از انجام این کار که به سادگی با استفاده از ماوس می توانید انجام دهید به پنجره Properties مراجعه کنید و ویژگی Location را مطابق شکل 41 5 پیدا کرده روی عالمت + کنار آن کلیک کنید. 143 شکل 41 5 ویژگی موقعیت

47 در جلوی ویژگی Location دو عدد 0 و 0 نوشته شده است. این اعداد فاصله کنترل را از سمت چپ فرم و از باالی فرم بر حسب پیکسل 1 مشخص میکنند. به عبارت دیگر موقعیت یک کنترل نسبت به گوشه باال سمت چپ 2 فرم سنجیده میشود. بر خالف آنچه که در ریاضیات معمول است که موقعیت یک نقطه را نسبت به مرکز صفحه )مبدأ( در نظر میگیرند در کامپیوتر مبدأ سنجش موقعیت گوشه باال سمت چپ صفحه است. برای تنظیم محل قرارگیری کنترل میتوانید از ماوس استفاده کنید و یا اعداد مناسبی را به عنوان فاصله از چپ و باال مشخص کنید. در اینجا با استفاده از ماوس کنترل برچسب را گرفته و در نقطه دلخواه فرم قرار دهید بهطوری که از دو طرف فرم به یک اندازه باشد. همچنین میتوانید مانند شکل 42 5 از منوی Format گزینه Center in Form استفاده کنید تا با دقت بیشتری کنترل را در وسط فرم شکل 42 5 تنظیم موقعیت افقی با استفاده از منوی Format قرار دهید. نکته هنگامی که بیش از یک کنترل در روی فرم قرار داشته باشد اگر آنها را با هم انتخاب کنید ابزارهای تنظیم موقعیت آنها نسبت به یکدیگر که در روی نوار ابزار و همچنین در منوی Format وجود دارد فعال شده به سادگی و با دقت و سرعت عمل باال می توانید آنها را تنظیم کنید. شکل 43 5 Pixel 1 leftupper corner 2 144

48 بعد از جا به جایی کنترل برچسب و قرارگرفتن در یک موقعیت مناسب به پنجره Properties رفته و مقدار اعداد در ویژگی Location را مشاهده کنید. همان طور که در شکل 44 5 مشاهده می کنید در اثر جا به جایی کنترل مقدار 0 و 0 به اعداد دیگری مانند 29, 40 تغییر کرده است. ارتباط این دو عدد با محل قرار گیری برچسب نسبت به فرم 1 در شکل 45 5 نشان داده شده است. فاصله افقی نسبت به لبه سمت چپ فرم با مقدار X و فاصله عمودی 2 نسبت به لبه باالی فرم با مقدار Y مشخص می گردد. شکل 44 5 مقادیر ویژگی موقعیت کنترل برچسب شکل 45 5 ارتباط مقادیر ویژگی موقعیت با لبه های فرم 145 Horizontally 1 Vertically 2

49 قبل از رفتن به مرحله بعدی بهتر است یک بار ویژگی هاو ویژگی های کنترل برچسب را که تنظیم کرده ایم در جدول 1 5 مشاهده کنید. رنگ نوشته و نوع فونت ممکن است با آنچه شما در انجام این مثال انجام می دهید متفاوت باشد که اهمیتی ندارد. جدول 1 5 مقادیر ویژگی ها ی کنترل برچسب کنترل Label مقدار ویژگی Name Text RightToLeft Font ForeColor Location label1 ساخت اولین فرم با ویژوال #C Yes Arial Size :16 Green Bold Center in Form Horizontally در سطر اول جدول 1 5 نام کنترل نوشته شده است و در ستون اول نام ویژگی های کنترل و در ستون دوم مقدار هر ویژگی بیان شده است. با توجه به اینکه جدول 1 5 به طور واضح و گویا ویژگی های کنترل برچسب را نشان می دهد از چنین جداولی در انجام پروژه های بعدی و یا حتی در امتحانات عملی برای مشخص کردن ویژگی های هر کنترل که باید تنظیم شود استفاده خواهیم کرد و دیگر الزم به ارائه توضیحات نیست. 6 اضافه کردن عکس بر روی فرم: در این مرحله باید عکسی را به فرم اضافه نماییم. برای نمایش یک عکس می توانید از کنترل PictureBox استفاده کنید که یک کنترل جالب و کاربردی است و آن را کنترل جعبه تصویر می نامیم. برای قراردادن این کنترل بر روی فرم به جعبه ابزار مراجعه کرده آن را پیدا کرده و به فرم اضافه کنید. شکل 46 5 را مشاهده کنید. 146

50 شکل 46 5 اضافه کردن کنترل جعبه تصویر به فرم به محض قرار گیری این کنترل بر روی فرم پنجره Properties به طور خودکار ویژگی ها این کنترل را نشان می دهد. نام این شئ picturebox1 است که به وسیله VS انتخاب می شود و از کالس PictureBox ساخته شده است. برای تعیین تصویری که می خواهیم در جعبه تصویر نمایش داده شود از ویژگی Image این کنترل استفاده می کنیم. برای مقداردهی ویژگی Image دو روش وجود دارد: 1 استفاده از پنجره Properties انتخاب شئ PictureBox و سپس کلیک روی عالمت... )شکل 47 5 (. 2 کلیک روی مثلث کوچک سیاه رنگ در کادر اطراف کنترل جعبه تصویر و استفاده از گزینه Choose Image در کادر اطراف کنترل جعبه تصویر یک مثلث کوچک سیاه رنگ دیده می شود. با کلیک بر آن منویی مانند شکل 48 5 ظاهر می گردد که در آن چند ویژگی کنترل نشان داده می شود. شکل 47 5 ویژگی Image برای تعیین تصویر 147

51 شکل 48 5 کلیک بر روی مثلث و ظاهر شدن منو به وسیله گزینه Choose Image در شکل 48 5 نیز عالوه بر پنجره Properties می توانید ویژگی Image را تعیین کنید. در هر حال با انتخاب گزینه Choose Image پنجره ای به نام انتخاب منبع Resource( )Select شکل 49 5 باز می شود که در آن باید فایل مورد نظر برای اضافه شدن به پروژه را مشخص کنید. اگر در شکل 49 5 بر روی کلید Import کلیک کنید پنجره انتخاب فایل باز می شود تا یک کپی از فایل مورد نظر شما به لیست فایل های پروژه اضافه شود. شکل 49 5 انتخاب فایل تصویری جهت اضافه شدن به پروژه پس از اینکه پنجره مربوط به تعیین نام فایل ظاهر شد وارد پوشه Pictures شوید و یک فایل تصویری انتخاب کنید. در این مثال تصویر گل ادریسی انتخاب شده است. 148

52 شکل 50 5 انتخاب فایل تصویری جهت نمایش در کنترل جعبه تصویر پس از انتخاب فایل مورد نظر به پنجره انتخاب منابع باز می گردید. با کلیک روی دکمه OK عملیات انجام شده را تأیید کنید )شکل 51 5 (. 149 شکل 51 5 پنجره انتخاب منبع پس از انتخاب فایل تصویری

53 پس از انتخاب فایل تصویری و کلیک بر روی دکمه OK تصویر انتخاب شده در جعبه تصویر قرار می گیرد. اگر مانند این مثال اندازه عکس بزرگ تر از اندازه جعبه تصویر باشد فقط بخشی از آن مانند شکل 52 5 دیده خواهد شد. نگران نباشید این مشکل را برطرف می کنیم! شکل 52 5 اضافه شدن فایل تصویری در فولدر Resources اگر به پنجره Solution Explorer در شکل 52 5 دقت کنید فایل تصویر انتخاب شده در پوشه Resources دیده می شود. اگر از طریق My Computer به مسیری بروید که در ابتدا برای پروژه تعیین کرده اید پوشه ای به نام Resources را پیدا خواهید کرد که در داخل آن یک کپی از فایل تصویر انتخاب شده قرار دارد. به همین دلیل به این پوشه پوشه منابع گفته می شود. برای برطرف کردن مشکل عدم تطبیق اندازه عکس و اندازه جعبه تصویر چه کنیم شاید راه حل های مختلفی برای برطرف کردن ا شکال فوق از جمله کاهش اندازه عکس به وسیله برنامه های گرافیکی نظیر Paint و Photoshop و یا بزرگ کردن اندازه جعبه تصویر به طوری که بتواند تمام عکس را در خود جای دهد به نظر برسد. اما بهترین راه حل این است که از ویژگی StretchImage کنترل جعبه تصویر استفاده کنیم و مقدار آن را مانند شکل 53 5 برابر SizeMode قرار دهیم. 150

54 شکل 53 5 تغییر خاصیت SizeMode به StretchImage حال برنامه را اجرا می کنیم خروجی آن مانند شکل 54 5 است. شکل 54 5 خروجی اولین برنامه نوشته شده در محیط #C Visual تبریک می گوییم که توانستید اولین برنامه ویندوزی با استفاده از VS را بنویسید. در این مثال یک خط برنامه ننوشتید و همه دستورات این برنامه به وسیله VS به طور خودکار انجام شد. بر روی فایل Form1.Designer.cs دوبار کلیک کنید و مستقیم به سراغ متد InitializeComponent() بروید و روی عالمت + کلیک کنید تا محتوای آن را ببینید. توجه داشته باشید که محتویات این فایل بخصوص این متد را نباید بدون اطمینان و آگاهی تغییر دهید و یا دستکاری کنید. شکل 55 5 را مشاهده کنید. دستورات مربوط به برچسب و جعبه تصویر مشخص شده است. دستورات قسمت پایین در شکل 55 5 مربوط به چیست 151

55 مقداردهی ویژگی های برچسب مقداردهی ویژگی های جعبه تصویر /// Required method for Designer support. do not modify محتویات این متد رابا ادیتور تغییر ندهید editor. /// the contents of this method with the code /// < /summary> private void InitializeComponent ( ) { this. label 1 = new System.Windows.Forms. label ( ); this. picturebox1 = new System.Windows.Forms. picturebox ( ); ( ( System. ComponentMode 1. IsupportInitialize) (this. picturebox1) ). BeginInit ( ); this. SuspendLayout ( ); / / label 1 / / this. label1. AutoSize = true; this. label1. Font = new System.Drawing. Font ("Arial", 15.75F, System. Drawing. this. label1. ForeColor = System.Drawing. Color. Green; this. label1. Location = new System.Drawing. Point (12,13); this. label1. Name = "label 1"; this. label1. RightTOLeft = System.Windows. Forms. RightTOLeft.Yes; this. label1. Size = new System.Drawing.Size (227, 24); this. label1. TabIndex = 0; this. label1. Text = " ساخت اولین فرم با ویژوال #C"; // // picturbox1 // this. picturebox1. Imag = global: :WindowsApp. Properties. Resources. Hydrangeas this. picturebox1. Location = new System. Drawing. Point (12, 57); this. picturebox1. Name = "picturebox1"; this. picturebox1. Size = new System. Drawing. Size (233, 193); this. picturebox1. SizeMode = System. Windows. Forms. PictureBoxSizeMode.Stretcr this. picturebox1. TabIndex = 1; this. picturebox1. TabStop = false; // // Form1 // 152

56 this. AutoScaleDimensions = new System. Drawing. SizeF (6F, 13F); this. AutoScaleMode = System.Windows. Forms. AtoScaleMode.Font; this. ClientSize = new System. Drawing. Size (284, 262); this. Controls. Add (this.picturebox1); this. Controls. Add (this.label1); this. Name = "Form1" ; ; «شروع کار» = Text this. ( (System. ComponentMode 1. IsupportInitialize) (this.picturebox1) ). EndInit ( ); this. ResumeLayout (false); this. PerformLayout ( ); شکل 55 5 محتویات متد InitalizeComponent() در فایل Form1.Designer.cs برای مطالعه کنترل ها و ابزارهای شخص ثالث برایNET. عالوه بر کنترل هایی که در جعبه ابزار VS وجود دارد کنترل های دیگر و ابزارهای پیشرفته ای نیز توسط شرکت های نرم افزاری که با شرکت مایکروسافت همکاری دارند ساخته شده اند. به این نوع کنترل ها که قابلیت اضافه شدن به فرم های ویندوزی را دارند و توسط شرکت دیگری ساخته می شود کنترل های شخص ثالث نامیده می شوند. بعضی از این ابزارها و کنترل ها در محیط ویژوال استودیو اضافه می شوند. شرکت DevExpress از جمله شرکت هایی است که مجموعه کنترل ها و ابزارهای واسطه کاربری را برای تولیدکنندگان برنامه های کاربردی از جمله برنامه نویسانی که از و یژوال استودیو استفاده می کنند فراهم و به صورت تجاری عرضه کرده است. با استفاده از این کنترل ها واسطه های کاربری زیباتری بدون کدنویسی می توان ایجاد کرد. یکی از ابزارهایی که این شرکت به رایگان عرضه می نماید CodeRush Express است 153

57 که می توانید آن را از آدرس زیر دانلود نمایید. با نصب این ابزار در محیط VS امکانات بیشتری در هنگام برنامه نویسی فراهم می شود. مثال منوی Refactoring با گزینه های متنوعی را در اختیار خواهید داشت. کار در کارگاه 3: تنظیم اندازه کنترل تنظیم خودکار اندازه کنترل ها در هنگام اجرای برنامه 1 پروژه WindowsApp که در این فصل ساختید را اجرا کنید. شکل 56 5 تغییر اندازه پنجره برنامه در حال اجرا 2 همان طورکه در شکل 56 5 مشاهده می کنید با استفاده از ماوس گوشه سمت راست پایین پنجره برنامه را گرفته و به سمت راست بکشید تا پنجره برنامه بزرگ تر شود. شکل

58 همانطور که در شکل 57 5 مشاهده میکنید در اثر تغییر اندازه پنجره فضای خالی در سمت راست ایجاد میشود. اما کاربران انتظار دارند با بزرگ شدن پنجره اندازه تصویر نیز افزایش یابد و صفحه پر شود. ولی در برنامه باال چنین نیست و توازن صفحه به هم میخورد. برای رفع اشکال باال دو راه حل داریم: الف( کاربر اجازه تغییر اندازه پنجره برنامه را نداشته باشد. در واقع صورت مسئله را پاک میکنیم و به کاربر اجازه نمیدهیم که اندازه فرم را تغییر دهد تا چنین مشکلی به وجود آید. فرمها دارای ویژگی به نام FormBorderStyle هستند که به وسیله آن میتوانیم سبک یا شکل ظاهری کادر دور فرم را تعیین کنیم. در بعضی از سبکها از امکان تغییر اندازه پنجره در حین اجرای برنامه جلوگیری میشود. مقدار پیش فرض این ویژگی Sizable است یعنی فرم قابل تغییر اندازه است. برای انتخاب سبکهای دیگر در حالی که فرم انتخاب شده است در پنجره Properties به سراغ ویژگی FormBorderStyle رفته )شکل 58 5 ( و مقدار دیگری مانند FixedSingle که به معنای اندازه ثابت فرم و با کادر تک خطی میباشد را شکل 58 5 ویژگی FormBorderStyle فرم انتخاب کنید. نکته میتوانید منوی کنترل پنجره و آیکنهای بیشینه کمینه و خروج را پنهان کنید. برای این منظور ویژگی ControlBox مربوط به فرم را برابر false کنید. البته در این صورت کاربر مجبور است برای پایان دادن به اجرای برنامه از ترکیب کلیدی Alt F4+ استفاده کند. ب( در روش دوم محدودیتی برای کاربر ایجاد نکرده و مانع تغییر اندازه فرم نمی شویم. بنابراین باید اندازه جعبه تصویر در هنگام تغییر اندازه پنجره به طور خودکار افزایش یابد. و به عبارت جالب تر باید فاصله جعبه تصویر از چهار لبه فرم همواره ثابت بماند. خیلی نگران نباشید در VS برای انجام این 155

59 کار نیازی به برنامه نویسی خود شما نیست و فقط کافی است در محیط طراحی از ویژگی Anchor کنترل جعبه تصویر برای این منظور استفاده کنید. این ویژگی ها می تواند مقادیر, Top Left, Right, Bottom و یا ترکیبی از آنها را بپذیرد. هر یک از مقادیر باعث می شوند که فاصله کنترل از سمت مربوطه ثابت بماند. در حالت پیش فرض مقدار ویژگی Anchor کنترل جعبه تصویر برابر Left, Top است بنابراین فاصله کنترل از دو طرف چپ و باالی فرم ثابت باقی می ماند. شکل 59 5 را مشاهده کنید. شکل 59 5 ویژگی Anchor اگر در ویژگی Anchor مربوط به جعبه تصویر هر چهار مقدار را قرار دهید )از ماوس کمک بگیرید و روی دو کادر خط چین راست و پایین در شکل 59 5 کلیک کنید تا رنگ آنها خاکستری شود( فاصله آن از چهار طرف ثابت می ماند. به عبارت دیگر اندازه آن هماهنگ با افزایش اندازه پنجره تغییر می کند. شکل 60 5 پنجره برنامه را پس از افزایش توسط کاربر نشان می دهد. 3 در شکل فوق مشاهده می کنید که برچسب در وسط پنجره قرار ندارد. برای اینکه موقعیت برچسب نیز بتواند با تغییر اندازه پنجره تغییر کند و همواره در وسط باقی بماند الزم است فقط فاصله 156 شکل 60 5 تغییر اندازه پنجره برنامه در حال اجرا پس از تنظیم ویژگی Anchor کنترل picturebox

60 آن تا باالی پنجره ثابت باشد. البته توجه داشته باشید برچسب باید از ابتدا در وسط فرم باشد. بنابراین برچسب را انتخاب کرده و ویژگی Anchor آن را برابر Top قرار دهید تا به طور خودکار موقعیت آن همواره در وسط پنجره قرار گیرد. 4 برنامه را اجرا کنید و اندازه پنجره را تغییر دهید. آیا اندازه تصویر و موقعیت برچسب نیز مطابق با آن به طور خودکار تغییر می کند و کار رضایت بخش است 5 در خیلی از برنامه های کاربردی نظیر Word و Excel که در سال قبل آشنا شدید برای وارد کردن اطالعات به زبان فارسی و یا نمایش صحیح اطالعات فارسی جهت صفحه را به حالت راست به چپ 1 تغییر می دادید. در فرم ها و کنترل هایی که برای نمایش و یا دریافت اطالعات فارسی به کار می روند نیز بهتر است ظاهر و ترتیب قرارگیری اجزای فرم و همچنین ترازبندی از راست به چپ تنظیم شوند. مثال در شکل 61 5 خط عنوان فرم به صورت راست به چپ تنظیم شده است. شکل 61 5 خط عنوان از راست به چپ همان طور که در شکل مشاهده می کنید خط عنوان فرم تغییر کرده است و حالت آینه ای نسبت به فرم های معمولی دارد. در این فرم آیکن های بستن پنجره بیشینه و کمینه در جهت سمت چپ قرار گرفته اند. در فرم های ویندوزی خاصیت RightToLeft و خاصیت RightToLeftLayout برای پشتیبانی از زبان های راست به چپ پیش بینی شده است. برای ایجاد چنین حالتی باید مقدار هر دو خاصیت را به true تغییر دهید. 157 Right to Left 1

61 158 خودآزمایی فصل پنجم الف( درستی یا نادرستی هر عبارت را تعیین کنید. 1 برنامههای کنسولی کاربرد زیادی در سیستم عامل ویندوز دارند. 2 در برنامههای ویندوزی واسط کاربری به صورت گرافیکی است. 3 برای نمایش یک متن روی فرم از کنترل Label استفاده میکنیم. 4 عنوان یک فرم از طریق ویژگی Text مقداردهی میشود. 5 میتوان منوی کنترل پنجره و آیکنهای بیشینه کمینه و خروج را پنهان کرد. ب( در سؤاالت چند گزینهای زیر پاسخ صحیح را انتخاب نمایید. 6 کدام ویژگی یک برچسب مربوط به متن داخل آن است ب( Text الف( RightToLeft د( TextAlign ج( Enabled 7 برای تغییر ویژگیهای یک کنترل از پنجره...استفاده میکنیم. ب( Properties الف( Solution Explorer د( Class View ج( Toolbox 8 برای دیدن پروژه و فایلهای آن از پنجره... استفاده میشود ب( Properties الف( Solution Explorer د( Class View ج( Toolbox 9 اگر بخواهیم در محیط طراحی یک کنترل را به فرم اضافه کنیم از پنجره... آن را به داخل فرم میآوریم. ب( Properties الف( Solution Explorer د( Class View ج( Toolbox 10 ویژگی SizeMode برای تنظیم چه چیزی از کنترل PictureBox به کار برده میشود ب( تصویر درون کنترل الف( مکان تصویر د( اندازه کنترل ج( نوع تعیین اندازه تصویر 11 برای ثابت نگه داشتن فاصله از طرفین برای یک کنترل از کدام ویژگی استفاده مینماییم ب( Text الف( Dock

62 ج( Location د( Anchor 12 اگر ویژگی FormBorderStyle برابر با Sizable شود فرم... خواهد بود. الف( با اندازه ثابت ب( یک کادر محاوره ای ج( بدون دکمه های بیشینه و کمینه د( با اندازه متغیر ج( جاهای خالی را با عبارات مناسب پرکنید. 13 اطالعی که از طرف سیستم عامل به برنامه داده می شود...نامیده می شود. 14 ویژگی RightToLeft برای زبان های... پیش بینی شده است 15 در کنترل PictureBox ویژگی که تصویر را در بر می گیرد...است. 159

63 تمرینات برنامه نویسی فصل پنجم 1 فرم زیر را برای نمایش اطالعات شخصی خود ( نام نام خانوادگی نام پدر تاریخ تولد و عکس( طراحی کنید. 2 فرم تمرین 1 برای نمایش اطالعات به زبان فارسی که یک زبان RTL است مناسب نیست. با تغییر ویژگی های فرم و برچسب ها فرم را برای زبان RTL مناسب کنید. 160

روش محاسبه ی توان منابع جریان و منابع ولتاژ

روش محاسبه ی توان منابع جریان و منابع ولتاژ روش محاسبه ی توان منابع جریان و منابع ولتاژ ابتدا شرح کامل محاسبه ی توان منابع جریان: برای محاسبه ی توان منابع جریان نخست باید ولتاژ این عناصر را بدست آوریم و سپس با استفاده از رابطه ی p = v. i توان این

Διαβάστε περισσότερα

محاسبه ی برآیند بردارها به روش تحلیلی

محاسبه ی برآیند بردارها به روش تحلیلی محاسبه ی برآیند بردارها به روش تحلیلی برای محاسبه ی برآیند بردارها به روش تحلیلی باید توانایی تجزیه ی یک بردار در دو راستا ( محور x ها و محور y ها ) را داشته باشیم. به بردارهای تجزیه شده در راستای محور

Διαβάστε περισσότερα

تحلیل مدار به روش جریان حلقه

تحلیل مدار به روش جریان حلقه تحلیل مدار به روش جریان حلقه برای حل مدار به روش جریان حلقه باید مراحل زیر را طی کنیم: مرحله ی 1: مدار را تا حد امکان ساده می کنیم)مراقب باشید شاخه هایی را که ترکیب می کنید مورد سوال مسئله نباشد که در

Διαβάστε περισσότερα

تصاویر استریوگرافی.

تصاویر استریوگرافی. هب انم خدا تصاویر استریوگرافی تصویر استریوگرافی یک روش ترسیمی است که به وسیله آن ارتباط زاویه ای بین جهات و صفحات بلوری یک کریستال را در یک فضای دو بعدی )صفحه کاغذ( تعیین میکنند. کاربردها بررسی ناهمسانگردی

Διαβάστε περισσότερα

مفاهیم ولتاژ افت ولتاژ و اختالف پتانسیل

مفاهیم ولتاژ افت ولتاژ و اختالف پتانسیل مفاهیم ولتاژ افت ولتاژ و اختالف پتانسیل شما باید بعد از مطالعه ی این جزوه با مفاهیم ولتاژ افت ولتاژ و اختالف پتانسیل کامال آشنا شوید. VA R VB به نظر شما افت ولتاژ مقاومت R چیست جواب: به مقدار عددی V A

Διαβάστε περισσότερα

مدار معادل تونن و نورتن

مدار معادل تونن و نورتن مدار معادل تونن و نورتن در تمامی دستگاه های صوتی و تصویری اگرچه قطعات الکتریکی زیادی استفاده می شود ( مانند مقاومت سلف خازن دیود ترانزیستور IC ترانس و دهها قطعه ی دیگر...( اما هدف از طراحی چنین مداراتی

Διαβάστε περισσότερα

1) { } 6) {, } {{, }} 2) {{ }} 7 ) { } 3) { } { } 8) { } 4) {{, }} 9) { } { }

1) { } 6) {, } {{, }} 2) {{ }} 7 ) { } 3) { } { } 8) { } 4) {{, }} 9) { } { } هرگاه دسته اي از اشیاء حروف و اعداد و... که کاملا"مشخص هستند با هم در نظر گرفته شوند یک مجموعه را به وجود می آورند. عناصر تشکیل دهنده ي یک مجموعه باید دو شرط اساسی را داشته باشند. نام گذاري مجموعه : الف

Διαβάστε περισσότερα

مثال( مساله الپالس در ناحیه داده شده را حل کنید. u(x,0)=f(x) f(x) حل: به کمک جداسازی متغیرها: ثابت = k. u(x,y)=x(x)y(y) X"Y=-XY" X" X" kx = 0

مثال( مساله الپالس در ناحیه داده شده را حل کنید. u(x,0)=f(x) f(x) حل: به کمک جداسازی متغیرها: ثابت = k. u(x,y)=x(x)y(y) XY=-XY X X kx = 0 مثال( مساله الپالس در ناحیه داده شده را حل کنید. (,)=() > > < π () حل: به کمک جداسازی متغیرها: + = (,)=X()Y() X"Y=-XY" X" = Y" ثابت = k X Y X" kx = { Y" + ky = X() =, X(π) = X" kx = { X() = X(π) = معادله

Διαβάστε περισσότερα

آزمایش 1: پاسخ فرکانسی تقویتکننده امیتر مشترك

آزمایش 1: پاسخ فرکانسی تقویتکننده امیتر مشترك آزمایش : پاسخ فرکانسی تقویتکننده امیتر مشترك -- مقدمه هدف از این آزمایش بدست آوردن فرکانس قطع بالاي تقویتکننده امیتر مشترك بررسی عوامل تاثیرگذار و محدودکننده این پارامتر است. شکل - : مفهوم پهناي باند تقویت

Διαβάστε περισσότερα

جلسه ی ۲۴: ماشین تورینگ

جلسه ی ۲۴: ماشین تورینگ دانشکده ی علوم ریاضی نظریه ی زبان ها و اتوماتا ۲۶ ا ذرماه ۱۳۹۱ جلسه ی ۲۴: ماشین تورینگ مدر س: دکتر شهرام خزاي ی نگارندگان: حمید ملک و امین خسر وشاهی ۱ ماشین تور ینگ تعریف ۱ (تعریف غیررسمی ماشین تورینگ)

Διαβάστε περισσότερα

جلسه ی ۱۰: الگوریتم مرتب سازی سریع

جلسه ی ۱۰: الگوریتم مرتب سازی سریع دانشکده ی علوم ریاضی داده ساختارها و الگوریتم ها ۸ مهر ۹ جلسه ی ۱۰: الگوریتم مرتب سازی سریع مدر س: دکتر شهرام خزاي ی نگارنده: محمد امین ادر یسی و سینا منصور لکورج ۱ شرح الگور یتم الگوریتم مرتب سازی سریع

Διαβάστε περισσότερα

سلسله مزاتب سبان مقدمه فصل : زبان های فارغ از متن زبان های منظم

سلسله مزاتب سبان مقدمه فصل : زبان های فارغ از متن زبان های منظم 1 ماشیه ای توریىگ مقدمه فصل : سلسله مزاتب سبان a n b n c n? ww? زبان های فارغ از متن n b n a ww زبان های منظم a * a*b* 2 زبان ها پذیرفته می شوند بوسیله ی : ماشین های تورینگ a n b n c n ww زبان های فارغ

Διαβάστε περισσότερα

فصل چهارم : مولتی ویبراتورهای ترانزیستوری مقدمه: فیدبک مثبت

فصل چهارم : مولتی ویبراتورهای ترانزیستوری مقدمه: فیدبک مثبت فصل چهارم : مولتی ویبراتورهای ترانزیستوری مقدمه: فیدبک مثبت در تقویت کننده ها از فیدبک منفی استفاده می نمودیم تا بهره خیلی باال نرفته و سیستم پایدار بماند ولی در فیدبک مثبت هدف فقط باال بردن بهره است در

Διαβάστε περισσότερα

آزمایش 8: تقویت کننده عملیاتی 2

آزمایش 8: تقویت کننده عملیاتی 2 آزمایش 8: تقویت کننده عملیاتی 2 1-8 -مقدمه 1 تقویت کننده عملیاتی (OpAmp) داراي دو یا چند طبقه تقویت کننده تفاضلی است که خروجی- هاي هر طبقه به وروديهاي طبقه دیگر متصل شده است. در انتهاي این تقویت کننده

Διαβάστε περισσότερα

فعالیت = ) ( )10 6 ( 8 = )-4( 3 * )-5( 3 = ) ( ) ( )-36( = m n m+ m n. m m m. m n mn

فعالیت = ) ( )10 6 ( 8 = )-4( 3 * )-5( 3 = ) ( ) ( )-36( = m n m+ m n. m m m. m n mn درس»ریشه ام و توان گویا«تاکنون با مفهوم توان های صحیح اعداد و چگونگی کاربرد آنها در ریشه گیری دوم و سوم اعداد آشنا شده اید. فعالیت زیر به شما کمک می کند تا ضمن مرور آنچه تاکنون در خصوص اعداد توان دار و

Διαβάστε περισσότερα

فصل اول هدف های رفتاری: پس از پایان این فصل از هنرجو انتظار می رود: 5 روش های اجرای دستور را توضیح دهد. 6 نوارهای ابزار را توصیف کند.

فصل اول هدف های رفتاری: پس از پایان این فصل از هنرجو انتظار می رود: 5 روش های اجرای دستور را توضیح دهد. 6 نوارهای ابزار را توصیف کند. فصل اول آشنایی با نرم افزار اتوکد هدف های رفتاری: پس از پایان این فصل از هنرجو انتظار می رود: 1 قابلیت های نرم افزار اتوکد را بیان کند. 2 نرم افزار اتوکد 2010 را روی رایانه نصب کند. 3 محیط گرافیکی نرم

Διαβάστε περισσότερα

ﯽﺳﻮﻃ ﺮﯿﺼﻧ ﻪﺟاﻮﺧ ﯽﺘﻌﻨﺻ هﺎﮕﺸﻧاد

ﯽﺳﻮﻃ ﺮﯿﺼﻧ ﻪﺟاﻮﺧ ﯽﺘﻌﻨﺻ هﺎﮕﺸﻧاد دانشگاه صنعتی خواجه نصیر طوسی دانشکده برق - گروه کنترل آزمایشگاه کنترل سیستمهای خطی گزارش کار نمونه تابستان 383 به نام خدا گزارش کار آزمایش اول عنوان آزمایش: آشنایی با نحوه پیاده سازی الکترونیکی فرایندها

Διαβάστε περισσότερα

جزوه کارگاه برنامه نویسی

جزوه کارگاه برنامه نویسی جزوه کارگاه برنامه نویسی شامل: توضیح و حل برخی تمرینات آخر فصل کتاب الگوریتم و فلوچارت ایرج صادقی visual گریزی به نرم افزار stadio 2012 تهیه و تنظیم : محمد ربانی 1) مقدمه ای بر نحوه برنامه نویسی: دیدگاه

Διαβάστε περισσότερα

سايت ويژه رياضيات درسنامه ها و جزوه هاي دروس رياضيات

سايت ويژه رياضيات   درسنامه ها و جزوه هاي دروس رياضيات سايت ويژه رياضيات درسنامه ها و جزوه هاي دروس رياضيات دانلود نمونه سوالات امتحانات رياضي نمونه سوالات و پاسخنامه كنكور دانلود نرم افزارهاي رياضيات و... کانال سایت ریاضی سرا در تلگرام: https://telegram.me/riazisara

Διαβάστε περισσότερα

همبستگی و رگرسیون در این مبحث هدف بررسی وجود یک رابطه بین دو یا چند متغیر می باشد لذا هدف اصلی این است که آیا بین

همبستگی و رگرسیون در این مبحث هدف بررسی وجود یک رابطه بین دو یا چند متغیر می باشد لذا هدف اصلی این است که آیا بین همبستگی و رگرسیون در این مبحث هدف بررسی وجود یک رابطه بین دو یا چند متغیر می باشد لذا هدف اصلی این است که آیا بین دو صفت متغیر x و y رابطه و همبستگی وجود دارد یا خیر و آیا می توان یک مدل ریاضی و یک رابطه

Διαβάστε περισσότερα

تمرینات درس ریاض عموم ٢. r(t) = (a cos t, b sin t), ٠ t ٢π. cos ٢ t sin tdt = ka۴. x = ١ ka ۴. m ٣ = ٢a. κds باشد. حاصل x٢

تمرینات درس ریاض عموم ٢. r(t) = (a cos t, b sin t), ٠ t ٢π. cos ٢ t sin tdt = ka۴. x = ١ ka ۴. m ٣ = ٢a. κds باشد. حاصل x٢ دانش اه صنعت شریف دانش ده ی علوم ریاض تمرینات درس ریاض عموم سری دهم. ١ سیم نازک داریم که روی دایره ی a + y x و در ربع اول نقطه ی,a را به نقطه ی a, وصل م کند. اگر چ ال سیم در نقطه ی y,x برابر kxy باشد جرم

Διαβάστε περισσότερα

دانشکده ی علوم ریاضی جلسه ی ۵: چند مثال

دانشکده ی علوم ریاضی جلسه ی ۵: چند مثال دانشکده ی علوم ریاضی احتمال و کاربردا ن ۴ اسفند ۹۲ جلسه ی : چند مثال مدر س: دکتر شهرام خزاي ی نگارنده: مهدی پاک طینت (تصحیح: قره داغی گیوه چی تفاق در این جلسه به بررسی و حل چند مثال از مطالب جلسات گذشته

Διαβάστε περισσότερα

قرار می گیرند. همچنین برای نگهداری اطالعات و نمایش آنها بر روی صفحه نمایش از متغیرها

قرار می گیرند. همچنین برای نگهداری اطالعات و نمایش آنها بر روی صفحه نمایش از متغیرها فصل چهارم آشنایی با انواع داده ها و متغیرها برنامه هایی که تاکنون نوشته ایم به نشان دادن یک پیام یا حاصل یک عبارت بر روی صفحه نمایش محدود می شد اما در برنامه های کاربردی با داده ها و مقادیر مختلف سروکار

Διαβάστε περισσότερα

آزمون مقایسه میانگین های دو جامعه )نمونه های بزرگ(

آزمون مقایسه میانگین های دو جامعه )نمونه های بزرگ( آزمون مقایسه میانگین های دو جامعه )نمونه های بزرگ( فرض کنید جمعیت یک دارای میانگین و انحراف معیار اندازه µ و انحراف معیار σ باشد و جمعیت 2 دارای میانگین µ2 σ2 باشند نمونه های تصادفی مستقل از این دو جامعه

Διαβάστε περισσότερα

فهرست خودآزمایی فصل اول ٨ فعالیت ١ ٣ ٢ اولین برنامه به زبان #C 18 ٤ ٢ الگوی یک برنامه ساده به زبان #C 18

فهرست خودآزمایی فصل اول ٨ فعالیت ١ ٣ ٢ اولین برنامه به زبان #C 18 ٤ ٢ الگوی یک برنامه ساده به زبان #C 18 فهرست اول آشنایی با مفاهیم پایهای پردازش دادهها ١ ١ دادهها و اطالعات ١ 2 1 انواع زبانهای برنامهنویسی ٥ خودآزمایی فصل اول ٨ فعالیت ١ آشنایی با زبان #C دوم 12 ١ ٢ آشنایی با زبان #C 14 ٢ ٢ شروع برنامهنویسی

Διαβάστε περισσότερα

جلسه 3 ابتدا نکته اي در مورد عمل توابع بر روي ماتریس ها گفته می شود و در ادامه ي این جلسه اصول مکانیک کوانتمی بیان. d 1. i=0. i=0. λ 2 i v i v i.

جلسه 3 ابتدا نکته اي در مورد عمل توابع بر روي ماتریس ها گفته می شود و در ادامه ي این جلسه اصول مکانیک کوانتمی بیان. d 1. i=0. i=0. λ 2 i v i v i. محاسبات کوانتمی (671) ترم بهار 1390-1391 مدرس: سلمان ابوالفتح بیگی نویسنده: محمد جواد داوري جلسه 3 می شود. ابتدا نکته اي در مورد عمل توابع بر روي ماتریس ها گفته می شود و در ادامه ي این جلسه اصول مکانیک

Διαβάστε περισσότερα

جلسه ی ۵: حل روابط بازگشتی

جلسه ی ۵: حل روابط بازگشتی دانشکده ی علوم ریاضی ساختمان داده ها ۶ مهر ۲ جلسه ی ۵: حل روابط بازگشتی مدر س: دکتر شهرام خزاي ی نگارنده: ا رمیتا ثابتی اشرف و علی رضا علی ا بادیان ۱ مقدمه پیدا کردن کران مجانبی توابع معمولا با پیچیدگی

Διαβάστε περισσότερα

جلسه ی ۴: تحلیل مجانبی الگوریتم ها

جلسه ی ۴: تحلیل مجانبی الگوریتم ها دانشکده ی علوم ریاضی ساختمان داده ها ۲ مهر ۱۳۹۲ جلسه ی ۴: تحلیل مجانبی الگوریتم ها مدر س: دکتر شهرام خزاي ی نگارنده: شراره عز ت نژاد ا رمیتا ثابتی اشرف ۱ مقدمه الگوریتم ابزاری است که از ا ن برای حل مسا

Διαβάστε περισσότερα

تخمین با معیار مربع خطا: حالت صفر: X: مکان هواپیما بدون مشاهده X را تخمین بزنیم. بهترین تخمین مقداری است که متوسط مربع خطا مینیمم باشد:

تخمین با معیار مربع خطا: حالت صفر: X: مکان هواپیما بدون مشاهده X را تخمین بزنیم. بهترین تخمین مقداری است که متوسط مربع خطا مینیمم باشد: تخمین با معیار مربع خطا: هدف: با مشاهده X Y را حدس بزنیم. :y X: مکان هواپیما مثال: مشاهده نقطه ( مجموعه نقاط کنارهم ) روی رادار - فرض کنیم می دانیم توزیع احتمال X به چه صورت است. حالت صفر: بدون مشاهده

Διαβάστε περισσότερα

بسم اهلل الرحمن الرحیم آزمایشگاه فیزیک )2( shimiomd

بسم اهلل الرحمن الرحیم آزمایشگاه فیزیک )2( shimiomd بسم اهلل الرحمن الرحیم آزمایشگاه فیزیک )( shimiomd خواندن مقاومت ها. بررسی قانون اهم برای مدارهای متوالی. 3. بررسی قانون اهم برای مدارهای موازی بدست آوردن مقاومت مجهول توسط پل وتسون 4. بدست آوردن مقاومت

Διαβάστε περισσότερα

فصل پنجم زبان های فارغ از متن

فصل پنجم زبان های فارغ از متن فصل پنجم زبان های فارغ از متن خانواده زبان های فارغ از متن: ( free )context تعریف: گرامر G=(V,T,,P) کلیه قوانین آن به فرم زیر باشد : یک گرامر فارغ از متن گفته می شود در صورتی که A x A Є V, x Є (V U T)*

Διαβάστε περισσότερα

قاعده زنجیره ای برای مشتقات جزي ی (حالت اول) :

قاعده زنجیره ای برای مشتقات جزي ی (حالت اول) : ۱ گرادیان تابع (y :f(x, اگر f یک تابع دومتغیره باشد ا نگاه گرادیان f برداری است که به صورت زیر تعریف می شود f(x, y) = D ۱ f(x, y), D ۲ f(x, y) اگر رویه S نمایش تابع (y Z = f(x, باشد ا نگاه f در هر نقطه

Διαβάστε περισσότερα

جلسه ی ۳: نزدیک ترین زوج نقاط

جلسه ی ۳: نزدیک ترین زوج نقاط دانشکده ی علوم ریاضی ا نالیز الگوریتم ها ۴ بهمن ۱۳۹۱ جلسه ی ۳: نزدیک ترین زوج نقاط مدر س: دکتر شهرام خزاي ی نگارنده: امیر سیوانی اصل ۱ پیدا کردن نزدیک ترین زوج نقطه فرض می کنیم n نقطه داریم و می خواهیم

Διαβάστε περισσότερα

شبکه های عصبی در کنترل

شبکه های عصبی در کنترل شبکه های عصبی در کنترل دانشگاه نجف آباد درس: کنترل هوشمند در فضای سایبرنتیک مدرس: حمید محمودیان مدل ریاضی نرون مدل ریاضی یک نرون ساده به صورت روبرو است P: مقدار کمیت ورودی b: مقدار بایاس )عرض از مبدا تابع

Διαβάστε περισσότερα

هد ف های هفته ششم: 1- اجسام متحرک و ساکن را از هم تشخیص دهد. 2- اندازه مسافت و جا به جایی اجسام متحرک را محاسبه و آن ها را مقایسه کند 3- تندی متوسط

هد ف های هفته ششم: 1- اجسام متحرک و ساکن را از هم تشخیص دهد. 2- اندازه مسافت و جا به جایی اجسام متحرک را محاسبه و آن ها را مقایسه کند 3- تندی متوسط هد ف های هفته ششم: 1- اجسام متحرک و ساکن را از هم تشخیص دهد. - اندازه مسافت و جا به جایی اجسام متحرک را محاسبه و آن ها را مقایسه کند 3- تندی متوسط اجسام متحرک را محاسبه کند. 4- تندی متوسط و لحظه ای را

Διαβάστε περισσότερα

رشتۀ کامپیوتر گروه تحصیلی کامپیوتر

رشتۀ کامپیوتر گروه تحصیلی کامپیوتر برنامه سازی 2 رشتۀ کامپیوتر گروه تحصیلی کامپیوتر زمىنۀ خدمات شاخۀ آموزش فنى وحرفهاى عنوان و نام پدیدآور مشخصات نشر مشخصات ظاهری شابک وضعیت فهرست نویسی شناسه افزوده شناسه افزوده شماره کتاب شناسی ملی برنامه

Διαβάστε περισσότερα

جلسه 12 به صورت دنباله اي از,0 1 نمایش داده شده اند در حین محاسبه ممکن است با خطا مواجه شده و یکی از بیت هاي آن. p 1

جلسه 12 به صورت دنباله اي از,0 1 نمایش داده شده اند در حین محاسبه ممکن است با خطا مواجه شده و یکی از بیت هاي آن. p 1 محاسبات کوانتمی (67) ترم بهار 390-39 مدرس: سلمان ابوالفتح بیگی نویسنده: سلمان ابوالفتح بیگی جلسه ذخیره پردازش و انتقال اطلاعات در دنیاي واقعی همواره در حضور خطا انجام می شود. مثلا اطلاعات کلاسیکی که به

Διαβάστε περισσότερα

جلسه 9 1 مدل جعبه-سیاه یا جستاري. 2 الگوریتم جستجوي Grover 1.2 مسا له 2.2 مقدمات محاسبات کوانتمی (22671) ترم بهار

جلسه 9 1 مدل جعبه-سیاه یا جستاري. 2 الگوریتم جستجوي Grover 1.2 مسا له 2.2 مقدمات محاسبات کوانتمی (22671) ترم بهار محاسبات کوانتمی (22671) ترم بهار 1390-1391 مدرس: سلمان ابوالفتح بیگی نویسنده: هیربد کمالی نیا جلسه 9 1 مدل جعبه-سیاه یا جستاري مدل هایی که در جلسه ي پیش براي استفاده از توابع در الگوریتم هاي کوانتمی بیان

Διαβάστε περισσότερα

:موس لصف یسدنه یاه لکش رد یلوط طباور

:موس لصف یسدنه یاه لکش رد یلوط طباور فصل سوم: 3 روابط طولی درشکلهای هندسی درس او ل قضیۀ سینوس ها یادآوری منظور از روابط طولی رابطه هایی هستند که در مورد اندازه های پاره خط ها و زاویه ها در شکل های مختلف بحث می کنند. در سال گذشته روابط طولی

Διαβάστε περισσότερα

تئوری جامع ماشین بخش سوم جهت سادگی بحث یک ماشین سنکرون دو قطبی از نوع قطب برجسته مطالعه میشود.

تئوری جامع ماشین بخش سوم جهت سادگی بحث یک ماشین سنکرون دو قطبی از نوع قطب برجسته مطالعه میشود. مفاهیم اصلی جهت آنالیز ماشین های الکتریکی سه فاز محاسبه اندوکتانس سیمپیچیها و معادالت ولتاژ ماشین الف ) ماشین سنکرون جهت سادگی بحث یک ماشین سنکرون دو قطبی از نوع قطب برجسته مطالعه میشود. در حال حاضر از

Διαβάστε περισσότερα

ویرایشسال 95 شیمیمعدنی تقارن رضافالحتی

ویرایشسال 95 شیمیمعدنی تقارن رضافالحتی ویرایشسال 95 شیمیمعدنی تقارن رضافالحتی از ابتدای مبحث تقارن تا ابتدای مبحث جداول کاراکتر مربوط به کنکور ارشد می باشد افرادی که این قسمت ها را تسلط دارند می توانند از ابتدای مبحث جداول کاراکتر به مطالعه

Διαβάστε περισσότερα

هدف از این آزمایش آشنایی با رفتار فرکانسی مدارهاي مرتبه اول نحوه تأثیر مقادیر عناصر در این رفتار مشاهده پاسخ دامنه

هدف از این آزمایش آشنایی با رفتار فرکانسی مدارهاي مرتبه اول نحوه تأثیر مقادیر عناصر در این رفتار مشاهده پاسخ دامنه آزما ی ش شش م: پا س خ فرکا نس ی مدا رات مرتبه اول هدف از این آزمایش آشنایی با رفتار فرکانسی مدارهاي مرتبه اول نحوه تأثیر مقادیر عناصر در این رفتار مشاهده پاسخ دامنه و پاسخ فاز بررسی رفتار فیلتري آنها بدست

Διαβάστε περισσότερα

جلسه 14 را نیز تعریف کرد. عملگري که به دنبال آن هستیم باید ماتریس چگالی مربوط به یک توزیع را به ماتریس چگالی مربوط به توزیع حاشیه اي آن ببرد.

جلسه 14 را نیز تعریف کرد. عملگري که به دنبال آن هستیم باید ماتریس چگالی مربوط به یک توزیع را به ماتریس چگالی مربوط به توزیع حاشیه اي آن ببرد. تي وري اطلاعات کوانتمی ترم پاییز 39-39 مدرس: ابوالفتح بیگی و امین زاده گوهري نویسنده: کامران کیخسروي جلسه فرض کنید حالت سیستم ترکیبی AB را داشته باشیم. حالت سیستم B به تنهایی چیست در ابتداي درس که حالات

Διαβάστε περισσότερα

مسائل. 2 = (20)2 (1.96) 2 (5) 2 = 61.5 بنابراین اندازه ی نمونه الزم باید حداقل 62=n باشد.

مسائل. 2 = (20)2 (1.96) 2 (5) 2 = 61.5 بنابراین اندازه ی نمونه الزم باید حداقل 62=n باشد. ) مسائل مدیریت کارخانه پوشاک تصمیم دارد مطالعه ای به منظور تعیین میانگین پیشرفت کارگران کارخانه انجام دهد. اگر او در این مطالعه دقت برآورد را 5 نمره در نظر بگیرد و فرض کند مقدار انحراف معیار پیشرفت کاری

Διαβάστε περισσότερα

مود لصف یسدنه یاه لیدبت

مود لصف یسدنه یاه لیدبت فصل دوم 2 تبدیلهای هندسی 1 درس او ل تبدیل های هندسی در بسیاری از مناظر زندگی روزمره نظیر طراحی پارچه نقش فرش کاشی کاری گچ بری و... شکل های مختلف طبق الگویی خاص تکرار می شوند. در این فصل وضعیت های مختلفی

Διαβάστε περισσότερα

آموزش SPSS مقدماتی و پیشرفته مدیریت آمار و فناوری اطالعات -

آموزش SPSS مقدماتی و پیشرفته مدیریت آمار و فناوری اطالعات - آموزش SPSS مقدماتی و پیشرفته تهیه و تنظیم: فرزانه صانعی مدیریت آمار و فناوری اطالعات - مهرماه 96 بخش سوم: مراحل تحلیل آماری تحلیل داده ها به روش پارامتری بررسی نرمال بودن توزیع داده ها قضیه حد مرکزی جدول

Διαβάστε περισσότερα

1 دایره فصل او ل کاربردهای بسیاری داشته است. یک قضیۀ بنیادی در هندسه موسوم با محیط ثابت دایره دارای بیشترین مساحت است. این موضوع در طراحی

1 دایره فصل او ل کاربردهای بسیاری داشته است. یک قضیۀ بنیادی در هندسه موسوم با محیط ثابت دایره دارای بیشترین مساحت است. این موضوع در طراحی فصل او ل 1 دایره هندسه در ساخت استحکامات دفاعی قلعهها و برج و باروها از دیرباز کاربردهای بسیاری داشته است. یک قضیۀ بنیادی در هندسه موسوم به»قضیۀ همپیرامونی«میگوید در بین همۀ شکلهای هندسی بسته با محیط ثابت

Διαβάστε περισσότερα

تمرین اول درس کامپایلر

تمرین اول درس کامپایلر 1 تمرین اول درس 1. در زبان مربوط به عبارت منظم زیر چند رشته یکتا وجود دارد (0+1+ϵ)(0+1+ϵ)(0+1+ϵ)(0+1+ϵ) جواب 11 رشته کنند abbbaacc را در نظر بگیرید. کدامیک از عبارتهای منظم زیر توکنهای ab bb a acc را ایجاد

Διαβάστε περισσότερα

هو الحق دانشکده ي مهندسی کامپیوتر جلسه هفتم

هو الحق دانشکده ي مهندسی کامپیوتر جلسه هفتم هو الحق دانشکده ي مهندسی کامپیوتر کدگذاري شبکه Coding) (Network شنبه 2 اسفند 1393 جلسه هفتم استاد: مهدي جعفري نگارنده: سید محمدرضا تاجزاد تعریف 1 بهینه سازي محدب : هدف پیدا کردن مقدار بهینه یک تابع ) min

Διαβάστε περισσότερα

شاخصهای پراکندگی دامنهی تغییرات:

شاخصهای پراکندگی دامنهی تغییرات: شاخصهای پراکندگی شاخصهای پراکندگی بیانگر میزان پراکندگی دادههای آماری میباشند. مهمترین شاخصهای پراکندگی عبارتند از: دامنهی تغییرات واریانس انحراف معیار و ضریب تغییرات. دامنهی تغییرات: اختالف بزرگترین و

Διαβάστε περισσότερα

http://econometrics.blog.ir/ متغيرهای وابسته نماد متغيرهای وابسته مدت زمان وصول حساب های دريافتني rcp چرخه تبدیل وجه نقد ccc متغیرهای کنترلی نماد متغيرهای کنترلي رشد فروش اندازه شرکت عملکرد شرکت GROW SIZE

Διαβάστε περισσότερα

فصل چهارم تعیین موقعیت و امتدادهای مبنا

فصل چهارم تعیین موقعیت و امتدادهای مبنا فصل چهارم تعیین موقعیت و امتدادهای مبنا هدف های رفتاری پس از آموزش و مطالعه این فصل از فراگیرنده انتظار می رود بتواند: 1 راهکار کلی مربوط به ترسیم یک امتداد در یک سیستم مختصات دو بعدی و اندازه گیری ژیزمان

Διαβάστε περισσότερα

Angle Resolved Photoemission Spectroscopy (ARPES)

Angle Resolved Photoemission Spectroscopy (ARPES) Angle Resolved Photoemission Spectroscopy (ARPES) روش ARPES روشی است تجربی که برای تعیین ساختار الکترونی مواد به کار می رود. این روش بر پایه اثر فوتوالکتریک است که توسط هرتز کشف شد: الکترونها می توانند

Διαβάστε περισσότερα

دبیرستان غیر دولتی موحد

دبیرستان غیر دولتی موحد دبیرستان غیر دلتی محد هندسه تحلیلی فصل دم معادله های خط صفحه ابتدا باید بدانیم که از یک نقطه به مازات یک بردار تنها یک خط می گذرد. با تجه به این مطلب برای نشتن معادله یک خط احتیاج به داشتن یک نقطه از خط

Διαβάστε περισσότερα

جلسه ی ۱۱: درخت دودویی هرم

جلسه ی ۱۱: درخت دودویی هرم دانشکده ی علوم ریاضی ساختمان داده ا بان جلسه ی : درخت دودویی هرم مدر س: دکتر شهرام خزاي ی نگارنده: احمدرضا رحیمی مقدمه الگوریتم مرتب سازی هرمی یکی دیگر از الگوریتم های مرتب سازی است که دارای برخی از بهترین

Διαβάστε περισσότερα

جلسه ی ۱۸: درهم سازی سرتاسری - درخت جست و جوی دودویی

جلسه ی ۱۸: درهم سازی سرتاسری - درخت جست و جوی دودویی دانشکده ی علوم ریاضی ساختمان داده ۱۰ ا ذر ۹۲ جلسه ی ۱۸: درهم سازی سرتاسری - درخت جست و جوی دودویی مدر س: دکتر شهرام خزاي ی نگارنده: معین زمانی و ا رمیتا اردشیری ۱ یادا وری همان طور که درجلسات پیش مطرح

Διαβάστε περισσότερα

تلفات خط انتقال ابررسی یک شبکة قدرت با 2 به شبکة شکل زیر توجه کنید. ژنراتور فرضیات شبکه: میباشد. تلفات خط انتقال با مربع توان انتقالی متناسب

تلفات خط انتقال ابررسی یک شبکة قدرت با 2 به شبکة شکل زیر توجه کنید. ژنراتور فرضیات شبکه: میباشد. تلفات خط انتقال با مربع توان انتقالی متناسب تلفات خط انتقال ابررسی یک شبکة قدرت با 2 به شبکة شکل زیر توجه کنید. ژنراتور فرضیات شبکه: این شبکه دارای دو واحد کامال یکسان آنها 400 MW میباشد. است تلفات خط انتقال با مربع توان انتقالی متناسب و حداکثر

Διαβάστε περισσότερα

هندسه تحلیلی بردارها در فضای R

هندسه تحلیلی بردارها در فضای R هندسه تحلیلی بردارها در فضای R فصل اول-بردارها دستگاه مختصات سه بعدی از سه محور ozوoyوox عمود بر هم تشکیل شده که در نقطه ای به نام o یکدیگر را قطع می کنند. قرارداد: دستگاه مختصات سه بعدی راستگرد می باشد

Διαβάστε περισσότερα

ندرک درگ ندرک درگ شور

ندرک درگ ندرک درگ شور ٥ عددهای تقریبی درس او ل: تقریب زدن گردکردن در کالس چهارم شما با تقریب زدن آشنا شده اید. عددهای زیر را با تقریب دهگان به نزدیک ترین عدد مانند نمونه تقریب بزنید. عدد جواب را در خانه مربوطه بنویسید. 780

Διαβάστε περισσότερα

Top Down Parsing LL(1) Narges S. Bathaeian

Top Down Parsing LL(1) Narges S. Bathaeian طراحی کامپایلر Top Down Parsing LL1) تعریف top down parsing Parse tree را از ریشه به سمت برگها می سازد. دو نوع LL1), LLk) Recursive descent مثال G = {S},{, ) }, P, S) S S S ) S ε ))$ مثال S S ) S ε ))$

Διαβάστε περισσότερα

باشند و c عددی ثابت باشد آنگاه تابع های زیر نیز در a پیوسته اند. به شرطی که g(a) 0 f g

باشند و c عددی ثابت باشد آنگاه تابع های زیر نیز در a پیوسته اند. به شرطی که g(a) 0 f g تعریف : 3 فرض کنیم D دامنه تابع f زیر مجموعه ای از R باشد a D تابع f:d R در نقطه a پیوسته است هرگاه به ازای هر دنباله از نقاط D مانند { n a{ که به a همگراست دنبال ه ){ n }f(a به f(a) همگرا باشد. محتوی

Διαβάστε περισσότερα

جلسه 2 1 فضاي برداري محاسبات کوانتمی (22671) ترم بهار

جلسه 2 1 فضاي برداري محاسبات کوانتمی (22671) ترم بهار محاسبات کوانتمی (22671) ترم بهار 1390-1391 مدرس: سلمان ابوالفتح بیگی نویسنده: نادر قاسمی جلسه 2 در این درسنامه به مروري کلی از جبر خطی می پردازیم که هدف اصلی آن آشنایی با نماد گذاري دیراك 1 و مباحثی از

Διαβάστε περισσότερα

فصل چهارم : مولتی ویبراتورهای ترانزیستوری مقدمه: فیدبک مثبت

فصل چهارم : مولتی ویبراتورهای ترانزیستوری مقدمه: فیدبک مثبت جزوه تکنیک پالس فصل چهارم: مولتی ویبراتورهای ترانزیستوری فصل چهارم : مولتی ویبراتورهای ترانزیستوری مقدمه: فیدبک مثبت در تقویت کننده ها از فیدبک منفی استفاده می نمودیم تا بهره خیلی باال نرفته و سیستم پایدار

Διαβάστε περισσότερα

راهنمای کاربری موتور بنزینی )سیکل اتو(

راهنمای کاربری موتور بنزینی )سیکل اتو( راهنمای کاربری موتور بنزینی )سیکل اتو( هدف آزمایش : شناخت و بررسی عملکرد موتور بنزینی تئوری آزمایش: موتورهای احتراق داخلی امروزه به طور وسیع برای ایجاد قدرت بکار می روند. ژنراتورهای کوچک پمپ های مخلوط

Διαβάστε περισσότερα

........................................................................................................................................................... حجم ومساحت ف ص ل 8.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Διαβάστε περισσότερα

اصول انتخاب موتور با مفاهیم بسیار ساده شروع و با نکات کاربردی به پایان می رسد که این خود به درک و همراهی خواننده کمک بسیاری می کند.

اصول انتخاب موتور با مفاهیم بسیار ساده شروع و با نکات کاربردی به پایان می رسد که این خود به درک و همراهی خواننده کمک بسیاری می کند. اصول انتخاب موتور اصول انتخاب موتور انتخاب یک موتور به در نظر گرفتن موارد بسیار زیادی از استانداردها عوامل محیطی و مشخصه های بار راندمان موتور و... وابسته است در این مقاله کوتاه به تاثیر و چرایی توان و

Διαβάστε περισσότερα

فهرست مطالب جزوه ی فصل اول مدارهای الکتریکی مفاهیم ولتاژ افت ولتاژ و اختالف پتانسیل تحلیل مدار به روش جریان حلقه... 22

فهرست مطالب جزوه ی فصل اول مدارهای الکتریکی مفاهیم ولتاژ افت ولتاژ و اختالف پتانسیل تحلیل مدار به روش جریان حلقه... 22 فهرست مطالب جزوه ی فصل اول مدارهای الکتریکی آنچه باید پیش از شروع کتاب مدار بدانید تا مدار را آسان بیاموزید.............................. 2 مفاهیم ولتاژ افت ولتاژ و اختالف پتانسیل................................................

Διαβάστε περισσότερα

جلسه 2 جهت تعریف یک فضاي برداري نیازمند یک میدان 2 هستیم. یک میدان مجموعه اي از اعداد یا اسکالر ها به همراه اعمال

جلسه 2 جهت تعریف یک فضاي برداري نیازمند یک میدان 2 هستیم. یک میدان مجموعه اي از اعداد یا اسکالر ها به همراه اعمال نظریه اطلاعات کوانتمی 1 ترم پاییز 1391-1392 مدرسین: ابوالفتح بیگی و امین زاده گوهري جلسه 2 فراگیري نظریه ي اطلاعات کوانتمی نیازمند داشتن پیش زمینه در جبرخطی می باشد این نظریه ترکیب زیبایی از جبرخطی و نظریه

Διαβάστε περισσότερα

جلسه 16 نظریه اطلاعات کوانتمی 1 ترم پاییز

جلسه 16 نظریه اطلاعات کوانتمی 1 ترم پاییز نظریه اطلاعات کوانتمی ترم پاییز 39-39 مدرسین: ابوالفتح بیگی و امین زاده گوهري نویسنده: محم دحسن آرام جلسه 6 تا اینجا با دو دیدگاه مختلف و دو عامل اصلی براي تعریف و استفاده از ماتریس چگالی جهت معرفی حالت

Διαβάστε περισσότερα

Beta Coefficient نویسنده : محمد حق وردی

Beta Coefficient نویسنده : محمد حق وردی مفهوم ضریب سهام بتای Beta Coefficient نویسنده : محمد حق وردی مقدمه : شاید بارها در مقاالت یا گروهای های اجتماعی مربوط به بازار سرمایه نام ضریب بتا رو دیده باشیم یا جایی شنیده باشیم اما برایمان مبهم باشد

Διαβάστε περισσότερα

فصل دهم: همبستگی و رگرسیون

فصل دهم: همبستگی و رگرسیون فصل دهم: همبستگی و رگرسیون مطالب این فصل: )r ( کوواریانس ضریب همبستگی رگرسیون ضریب تعیین یا ضریب تشخیص خطای معیار برآور ( )S XY انواع ضرایب همبستگی برای بررسی رابطه بین متغیرهای کمی و کیفی 8 در بسیاری

Διαβάστε περισσότερα

فهرست جزوه ی فصل دوم مدارهای الکتریکی ( بردارها(

فهرست جزوه ی فصل دوم مدارهای الکتریکی ( بردارها( فهرست جزوه ی فصل دوم مدارهای الکتریکی ( بردارها( رفتار عناصر L, R وC در مدارات جریان متناوب......................................... بردار و کمیت برداری.............................................................

Διαβάστε περισσότερα

جلسه 15 1 اثر و اثر جزي ی نظریه ي اطلاعات کوانتومی 1 ترم پاي یز جدایی پذیر باشد یعنی:

جلسه 15 1 اثر و اثر جزي ی نظریه ي اطلاعات کوانتومی 1 ترم پاي یز جدایی پذیر باشد یعنی: نظریه ي اطلاعات کوانتومی 1 ترم پاي یز 1391-1391 مدرس: دکتر ابوالفتح بیگی ودکتر امین زاده گوهري نویسنده: محمدرضا صنم زاده جلسه 15 فرض کنیم ماتریس چگالی سیستم ترکیبی شامل زیر سیستم هايB و A را داشته باشیم.

Διαβάστε περισσότερα

نظریه زبان ها و ماشین ها

نظریه زبان ها و ماشین ها نظریه زبان ها و ماشین ها Theory of Languages & Automatas سید سجاد ائم ی زمستان 94 به نام خدا پیش گفتار جزوه پیش رو جهت استفاده دانشجویان عزیز در درس نظریه زبانها و ماشینها تهیه شده است. در این جزوه با

Διαβάστε περισσότερα

چکیده مقدمه کلید واژه ها:

چکیده مقدمه کلید واژه ها: چکیده طی دهه های گذشته سازمان های بسیاری در اقسا نقاط جهان سیستم برنامه ریزی منابع سازمانی ERP را اتخاذ کرده اند. در باره ی منافع حسابداری اتخاذ سیستم های سازمانی تحقیقات کمی در مقیاس جهانی انجام شده است.

Διαβάστε περισσότερα

Spacecraft thermal control handbook. Space mission analysis and design. Cubesat, Thermal control system

Spacecraft thermal control handbook. Space mission analysis and design. Cubesat, Thermal control system سیستم زیر حرارتی ماهواره سرفصل های مهم 1- منابع مطالعاتی 2- مقدمه ای بر انتقال حرارت و مکانیزم های آن 3- موازنه انرژی 4 -سیستم های کنترل دما در فضا 5- مدل سازی عددی حرارتی ماهواره 6- تست های مورد نیاز

Διαβάστε περισσότερα

پنج ره: Command History

پنج ره: Command History هب انم زیدان اپک فهرست مطا ل ب مع ر ف ی رنم ازفار م تل ب:... 11 آش نا ی ی با محی ط ا صل ی رنم ازفار م تل ب:... 11 11... پنج ره: Command History وه ارجای د ست ورات رد م تل ب:... 11 نح نو شت ن د ست ورات

Διαβάστε περισσότερα

عنوان: رمزگذاري جستجوپذیر متقارن پویا

عنوان: رمزگذاري جستجوپذیر متقارن پویا دانشگاه صنعتی شریف دانشکده مهندسی برق گزارش درس ریاضیات رمزنگاري عنوان: رمزگذاري جستجوپذیر متقارن پویا استاد درس: مهندس نگارنده: ز 94 دي ماه 1394 1 5 نماد گذاري و تعریف مسي له 1 6 رمزگذاري جستجوپذیر متقارن

Διαβάστε περισσότερα

معادلهی مشخصه(کمکی) آن است. در اینجا سه وضعیت متفاوت برای ریشههای معادله مشخصه رخ میدهد:

معادلهی مشخصه(کمکی) آن است. در اینجا سه وضعیت متفاوت برای ریشههای معادله مشخصه رخ میدهد: شکل کلی معادلات همگن خطی مرتبه دوم با ضرایب ثابت = ٠ cy ay + by + و معادله درجه دوم = ٠ c + br + ar را معادلهی مشخصه(کمکی) آن است. در اینجا سه وضعیت متفاوت برای ریشههای معادله مشخصه رخ میدهد: c ١ e r١x

Διαβάστε περισσότερα

فیلتر کالمن Kalman Filter

فیلتر کالمن Kalman Filter به نام خدا عنوان فیلتر کالمن Kalman Filter سیدمحمد حسینی SeyyedMohammad Hosseini Seyyedmohammad [@] iasbs.ac.ir تحصیالت تکمیلی علوم پایه زنجان Institute for Advanced Studies in Basic Sciences تابستان 95

Διαβάστε περισσότερα

فصل 5 :اصل گسترش و اعداد فازی

فصل 5 :اصل گسترش و اعداد فازی فصل 5 :اصل گسترش و اعداد فازی : 1-5 اصل گسترش در ریاضیات معمولی یکی از مهمترین ابزارها تابع می باشد.تابع یک نوع رابطه خاص می باشد رابطه ای که در نمایش زوج مرتبی عنصر اول تکراری نداشته باشد.معموال تابع

Διαβάστε περισσότερα

به نام خدا. الف( توضیح دهید چرا از این تکنیک استفاده میشود چرا تحلیل را روی کل سیگنال x[n] انجام نمیدهیم

به نام خدا. الف( توضیح دهید چرا از این تکنیک استفاده میشود چرا تحلیل را روی کل سیگنال x[n] انجام نمیدهیم پردازش گفتار به نام خدا نیمسال اول 59-59 دکتر صامتی تمرین سری سوم پیشبینی خطی و کدینگ شکلموج دانشکده مهندسی کامپیوتر زمان تحویل: 32 آبان 4259 تمرینهای تئوری: سوال 1. می دانیم که قبل از انجام تحلیل پیشبینی

Διαβάστε περισσότερα

3 لصف یربج یاه ترابع و ایوگ یاه ناوت

3 لصف یربج یاه ترابع و ایوگ یاه ناوت فصل توان های گویا و عبارت های جبری 8 نگاه کلی به فصل هدفهای این فصل را میتوان به اختصار چنین بیان کرد: همانگونه که توان اعداد را در آغاز برای توانهای طبیعی عددهای ٢ و ٣ تعریف میکنیم و سپس این مفهوم را

Διαβάστε περισσότερα

آزمایش ۱ اندازه گیری مقاومت سیم پیچ های ترانسفورماتور تک فاز

آزمایش ۱ اندازه گیری مقاومت سیم پیچ های ترانسفورماتور تک فاز گزارش آزمایشگاه ماشینهای الکتریکی ۲ آزمایش ۱ اندازه گیری مقاومت سیم پیچ های ترانسفورماتور تک فاز شرح آزمایش ماژول تغذیه را با قرار دادن Breaker Circuit بر روی on روشن کنید با تغییر دستگیره ماژول منبع تغذیه

Διαβάστε περισσότερα

تعیین محل قرار گیری رله ها در شبکه های سلولی چندگانه تقسیم کد

تعیین محل قرار گیری رله ها در شبکه های سلولی چندگانه تقسیم کد تعیین محل قرار گیری رله ها در شبکه های سلولی چندگانه تقسیم کد مبتنی بر روش دسترسی زلیخا سپهوند دانشکده مهندسى برق واحد نجف آباد دانشگاه آزاد اسلامى نجف آباد ایر ان zolekhasepahvand@yahoo.com روح االله

Διαβάστε περισσότερα

فصل دوم مثلثات نسبت های مثلثاتی دایره مثلثاتی روابط بین نسبتهای مثلثاتی

فصل دوم مثلثات نسبت های مثلثاتی دایره مثلثاتی روابط بین نسبتهای مثلثاتی 37 فصل دوم مثلثات نسبت های مثلثاتی دایره مثلثاتی روابط بین نسبتهای مثلثاتی 38 آخر این درس با چی آشنا میشی نسبت های مثلثاتی آشنایی با نسبت های مثلثاتی سینوس کسینوس تانژانت کتانژانت 39 به شکل مقابل نگاه

Διαβάστε περισσότερα

فصل سوم جریان های الکتریکی و مدارهای جریان مستقیم جریان الکتریکی

فصل سوم جریان های الکتریکی و مدارهای جریان مستقیم جریان الکتریکی فصل سوم جریان های الکتریکی و مدارهای جریان مستقیم جریان الکتریکی در رساناها مانند یک سیم مسی الکترون های آزاد وجود دارند که با سرعت های متفاوت بطور کاتوره ای)بی نظم(در حال حرکت هستند بطوریکه بار خالص گذرنده

Διαβάστε περισσότερα

فصل سوم : عناصر سوئیچ

فصل سوم : عناصر سوئیچ فصل سوم : عناصر سوئیچ رله الکترومکانیکی: یک آهنربای الکتریکی است که اگر به آن ولتاژ بدهیم مدار را قطع و وصل می کند. الف: دیود بعنوان سوئیچ دیود واقعی: V D I D = I S (1 e η V T ) دیود ایده آل: در درس از

Διαβάστε περισσότερα

آموزش اتوکد (AutoCAD)

آموزش اتوکد (AutoCAD) آموزش اتوکد (AutoCAD) تهیه و تنظیم: سید مسعود توفیقی اسفهالن ایمیل: Captain_k2@yahoo.com سامانه پیام کوتاه: 30002105000010 وبسایت: آموزش اتوکد (AUTOCAD) فهرست آموزش نرم افزار اتوکد )AutoCAD( درس اول: -

Διαβάστε περισσότερα

جلسه دوم سوم چهارم: مقدمه اي بر نظریه میدان

جلسه دوم سوم چهارم: مقدمه اي بر نظریه میدان هو الحق دانشکده ي مهندسی کامپیوتر کدگذاري شبکه Coding) (Network سه شنبه 21 اسفند 1393 جلسه دوم سوم چهارم: مقدمه اي بر نظریه میدان استاد: مهدي جعفري نگارنده: علیرضا حیدري خزاي ی در این نوشته مقدمه اي بر

Διαβάστε περισσότερα

تحلیل الگوریتم پیدا کردن ماکزیمم

تحلیل الگوریتم پیدا کردن ماکزیمم تحلیل الگوریتم پیدا کردن ماکزیمم امید اعتصامی پژوهشگاه دانشهاي بنیادي پژوهشکده ریاضیات 1 انگیزه در تحلیل الگوریتم ها تحلیل احتمالاتی الگوریتم ها روشی براي تخمین پیچیدگی محاسباتی یک الگوریتم یا مساله ي

Διαβάστε περισσότερα

یونیزاسیون اشعهX مقدار مو ثر یونی را = تعریف میکنیم و ظرفیت مو ثر یونی نسبت مقدار مو ثر یونی به زمان تابش هدف آزمایش: مقدمه:

یونیزاسیون اشعهX مقدار مو ثر یونی را = تعریف میکنیم و ظرفیت مو ثر یونی نسبت مقدار مو ثر یونی به زمان تابش هدف آزمایش: مقدمه: ر 1 یونیزاسیون اشعهX هدف آزمایش: تعیین مقدار ظرفیت مو ثر یونی هوا تحقیق بستگی جریان یونیزاسیون به جریان فیلامان و ولتاژ آند لامپ اشعه x مقدمه: اشعه x موج الکترومغناطیسی پر قدرت با محدوده انرژي چند تا چند

Διαβάστε περισσότερα

زمین شناسی ساختاری.فصل پنجم.محاسبه ضخامت و عمق الیه

زمین شناسی ساختاری.فصل پنجم.محاسبه ضخامت و عمق الیه پن ج م فص ل محاسبه ضخامت و عم ق الهی زمین شناسی ساختاری.کارشناسی زمین شناسی.بخش زمین شناسی دانشکده علوم.دانشگاه شهید باهنر کرمان.استاد درس:دکتر شهرام شفیعی بافتی 1 تعاریف ضخامت - فاصله عمودی بین دو صفحه

Διαβάστε περισσότερα

جلسه 22 1 نامساویهایی در مورد اثر ماتریس ها تي وري اطلاعات کوانتومی ترم پاییز

جلسه 22 1 نامساویهایی در مورد اثر ماتریس ها تي وري اطلاعات کوانتومی ترم پاییز تي وري اطلاعات کوانتومی ترم پاییز 1391-1392 مدرس: ابوالفتح بیگی و امین زاده گوهري نویسنده: محمد مهدي مجاهدیان جلسه 22 تا اینجا خواص مربوط به آنتروپی را بیان کردیم. جهت اثبات این خواص نیاز به ابزارهایی

Διαβάστε περισσότερα

آشنایی با پدیده ماره (moiré)

آشنایی با پدیده ماره (moiré) فلا) ب) آشنایی با پدیده ماره (moiré) توری جذبی- هرگاه روی ورقه شفافی چون طلق تعداد زیادی نوارهای خطی کدر هم پهنا به موازات یکدیگر و به فاصله های مساوی از هم رسم کنیم یک توری خطی جذبی به وجود می آید شکل

Διαβάστε περισσότερα

دفترچه راهنمای کاربر نرم افزار Hi-Survey Road

دفترچه راهنمای کاربر نرم افزار Hi-Survey Road 1 2 تنظیمات دیتا سیم کارت... 3 ایجاد پروژه...5 تنظیمات پروژه...6 فراخوانی فایل...8 Dam فراخوانی نقشه...9 DXF نحوه اتصال به سنسور...10 روش 12... RTK نوار ابزار اطالعات سنسور و ماهواره...16 روش 20... UHF

Διαβάστε περισσότερα

نویسنده: محمدرضا تیموری محمد نصری مدرس: دکتر پرورش خالصۀ موضوع درس سیستم های مینیمم فاز: به نام خدا

نویسنده: محمدرضا تیموری محمد نصری مدرس: دکتر پرورش خالصۀ موضوع درس سیستم های مینیمم فاز: به نام خدا به نام خدا پردازش سیگنالهای دیجیتال نیمسال اول ۹۵-۹۶ هفته یازدهم ۹۵/۰8/2۹ مدرس: دکتر پرورش نویسنده: محمدرضا تیموری محمد نصری خالصۀ موضوع درس یا سیستم های مینیمم فاز تجزیه ی تابع سیستم به یک سیستم مینیمم

Διαβάστε περισσότερα

تبدیل ها هندسه سوم دبیرستان ( D با یک و تنها یک عضو از مجموعه Rست که در آن هر عضو مجموعه نگاشت از Dبه R تناظری بین مجموعه های D و Rمتناظر باشد.

تبدیل ها هندسه سوم دبیرستان ( D با یک و تنها یک عضو از مجموعه Rست که در آن هر عضو مجموعه نگاشت از Dبه R تناظری بین مجموعه های D و Rمتناظر باشد. تبدیل ها ن گاشت : D با یک و تنها یک عضو از مجموعه نگاشت از Dبه R تناظری بین مجموعه های D و Rمتناظر باشد. Rست که در آن هر عضو مجموعه تبد ی ل : نگاشتی یک به یک از صفحه به روی خودش است یعنی در تبدیل هیچ دو

Διαβάστε περισσότερα

تئوری رفتار مصرف کننده : می گیریم. فرض اول: فرض دوم: فرض سوم: فرض چهارم: برای بیان تئوری رفتار مصرف کننده ابتدا چهار فرض زیر را در نظر

تئوری رفتار مصرف کننده : می گیریم. فرض اول: فرض دوم: فرض سوم: فرض چهارم: برای بیان تئوری رفتار مصرف کننده ابتدا چهار فرض زیر را در نظر تئوری رفتار مصرف کننده : می گیریم برای بیان تئوری رفتار مصرف کننده ابتدا چهار فرض زیر را در نظر فرض اول: مصرف کننده یک مصرف کننده منطقی است یعنی دارای رفتار عقالیی می باشد به عبارت دیگر از مصرف کاالها

Διαβάστε περισσότερα

برابری کار نیروی برآیند و تغییرات انرژی جنبشی( را بدست آورید. ماتریس ممان اینرسی s I A

برابری کار نیروی برآیند و تغییرات انرژی جنبشی( را بدست آورید. ماتریس ممان اینرسی s I A مبحث بیست و سوم)مباحث اندازه حرکت وضربه قانون بقای اندازه حرکت انرژی جنبشی و قانون برابری کار نیروی برآیند و تغییرات انرژی جنبشی( تکلیف از مبحث ماتریس ممان اینرسی( را بدست آورید. ماتریس ممان اینرسی s I

Διαβάστε περισσότερα